软件项目管理系统的设计与实现

2020-07-18 16:18张婉盈钟燕赵喜娣杨桐贺怀清
科学大众 2020年5期
关键词:模块化设计软件开发设计方案

张婉盈 钟燕 赵喜娣 杨桐 贺怀清

摘 要:文章参考软件工程相关知识,基于B/S架构,采用主流技术,设计和实现了一套简单的软件项目管理系统。经测试使用,该系统能够对人员、产品、过程和项目进行管理,使软件项目能够按照预定的成本、进度、质量顺利完成,减小软件开发的风险。

关键词:设计方案;软件开发;模块化设计

1    软件管理系统

在现代信息社会中,各行各业都离不开软件的支持,例如学生选课需要选课系统,教师上网课需要有智慧树、腾讯会议、大学慕课等在线教学平台,乘火车需要有12306,乘飞机需要有离港系统,存取款需要有手机APP等。各类软件的应用有效促进了经济和社会的发展,提高了工作效率和生活效率。

软件具有复杂性、一致性、可变性等本质特性,是一种逻辑实体。在计算机软件开发和维护过程中,管理的缺失将导致许多组织无法按照规定的时间和预算成本完成软件开发。为了有效地管理软件开发、测试、维护等过程,本文按照软件工程思想,设计和实现了一款软件项目管理系统,对软件开发人员、软件产品、软件开发过程和软件项目进行管理,使软件项目能够按照预定的成本、进度、质量顺利完成。

2    设计方案

2.1  需求分析

在软件项目管理中,系统通常面向经理、项目负责人和组员3种不同的用户,而不同的用户需要使用的系统功能也是不同的。通过对不同用户需求的分析,将系统的功能需求列出(见表1),系统整体结构设计如图1所示。

2.2  架构设计

2.2.1  系统整体架构设计

根据上文功能描述,得到本系统的整体架构如图2所示。可见,主要业务功能有人员管理模块、项目管理模块、时间管理模块、质量管理模块和配置管理模块,各个功能模块在Web网页上呈现出来,使用系统的人员在网页上进行操作。Web端页面将根据用户请求传至后台Controller层,Controller层将请求传至Service层,进行业务处理,将处理结果通过Dao层与数据库进行数据处理,将返回结果再按照dao层-Service层-Controller层传至Web页面,Web页面接收Controller层传来的响应,对数据进行呈现。

2.2.2  数据库设计

数据库是一个系统的信息存储部分,在整个系统中是不可缺少的。本系统数据库使用的是MySQL,主要包括项目信息、用户信息、项目进度信息。此外,当不同身份的用户使用该系统在Web界面上进行操作时,部分信息的操作也会同步到数据库中。当每个项目被分配后,项目和团队则匹配成功。数据库中包含的实体有用户和项目,两者之间的关系如图3所示。

2.3  Web网站设计

好的人机交互界面可以使得系统的适用性提高,使用更加便捷。Web网页端简化了人工的操作,在网页端简单地对相关信息进行操作,就可直接更改后端数据库中的内容,无需再去数据库中修改相关数据,节省了大量的人力和物力。本项目采用SSM框架,支持多个平台,使用方便。

不同角色之间的工作交互:经理主要在一开始工作,为大家承接并分配项目,每个小组的负责人申请好项目以后,对组员进行分工,之后制定工作计划安排,组员按照工作计划完成自己的工作,并提交自己的工作内容,修改工作任务的状态,具体设计如图4所示。

2.4  安全性设计

随着信息技术的不断发展,安全问题越来越受到人们的重视。本软件项目管理系统是针对软件项目开发过程中的一个软件管理平台,保护用户信息和系统中存在的信息安全不被窃取。为此,本文制定了以下安全设计。

(1)用户信息与邮箱绑定,防止用户恶意注册。

(2)前端与后端使用AJAX传输,便于开发与维护。

(3)用户使用手机号注册,但是后期手机号码可改,方便用户使用。

(4)按用户身份开发界面,即不同角色可操控功能不同,提高安全性。

3    系统开发

3.1  项目管理模块

项目管理模块对提高管理效率、保证软件项目质量起着关键的作用。项目管理模块实现流程如图5所示。

经理可以进行项目入库、项目查询以及对项目的分配,项目负责人可以对组内人员进行任务安排、对查询项目信息以及申请项目。

3.2  配置管理模块

配置管理是软件生命周期中重要的控制过程。通过记录、追踪及监督各个项目在各个阶段的更新变化来对项目进行适当调整,使得项目与用户需求极大程度地吻合。配置管理模塊的实现流程如图6所示。

开发人员可以在该模块上传与下载配置文件,项目进行版本更新后,需进入变更管理中上传新版本相应的变更文档信息。

3.3  人员管理模块

人员管理模块面向所有角色开放。该模块主要便于经理对公司人员信息的掌握及调整,也用于员工对自己账号的管理。其具体功能实现如图7所示。

经理可以对公司全部人员的信息进行增删改查,项目负责人只可查看组内成员的信息。所有身份都可以查看个人信息并对其进行修改,也可以进行密码修改。

3.4  质量管理模块

质量管理是确保员工工作效率且提高项目开发质量的重要环节。一般情况下,质量管理是由质量保证人员负责实施,同时也需要项目负责人的监督和管理。质量管理模块具体功能实现如图8所示。

质量管理模块中,组员上传每日项目情况报告内容以及下载任意日期的测试报告,项目负责人查看,便于及时调整后续任务。

3.5  时间管理模块

合理安排项目时间是项目管理中的重要内容。通过项目进度的实时更新,将当前进度与项目计划进行对照并作出及时调整,确保项目按时完成。时间管理模块具体功能如图9所示。

在时间管理模块中,经理可以看到所有项目组的工作进度以及项目周期,项目负责人与组员需要对项目进度进行及时的更新。

4    系统实现

4.1  软件开发平台

本系统为了提高各部分功能模块的独立性和安全性,采用的主要平台和框架如下:

(1)数据库基于MySQL技术实现,开发工具为Navicat 11.2.7。

(2)后端处理业务逻辑,读写数据库,并和前端界面进行数据的传输,基于SSM框架实现。

(3)系统的前端为用户界面,有统一的底色和侧边栏,基于HTML和jQuery技术实现。

(4)网站前端开发工具使用JetBrains WebStorm 2019.1.3,后端的开发工具为IntelliJ IDEA 2019.1.3。其中,前端利用当前主流的AJAX技术,来保证数据的可靠、稳定传输。利用BootStrap3.3.7框架,极大地简化了对网页UI的修饰。

4.2  服务器部署

本系统需要部署Web服务器。其采用B/S结构,使用tomcat服务器,服务器包含系统程序和数据库。

5    结语

软件项目管理越来越受到软件开发组织和个人的重视。在信息技术高度发达的今天,人们会从各个角度设计软件系统,帮助管理软件开发全过程。本软件项目管理系统主要从开发一个项目的各个阶段角度出发,按照软件工程思想设计,利用主流开发框架实现了一款软件项目管理系统,对软件开发人员、软件产品、软件开发过程和软件项目进行管理,其功能经过了实验测试。

基金项目:中国民航大学大学生创新创业训练计划项目“软件项目管理系统设计与实现”(IEYCAUC2019041)

猜你喜欢
模块化设计软件开发设计方案
《小学英语时态-现在进行时》微课教学设计方案
云南省电视广告监看系统智能化升级设计方案
中式琴房设计方案
汽车装配工艺模块化设计研究
信息安全环境下的计算机软件开发研究
核电厂定期试验管理软件开发
LED车内氛围灯设计
FPGA软件开发过程中编码规范的作用
基于.NET的教务信息内容管理系统的研究与实现
方便胶带