張婉盈 鐘燕 趙喜娣 楊桐 賀懷清



摘 要:文章參考軟件工程相關知識,基于B/S架構(gòu),采用主流技術,設計和實現(xiàn)了一套簡單的軟件項目管理系統(tǒng)。經(jīng)測試使用,該系統(tǒng)能夠?qū)θ藛T、產(chǎn)品、過程和項目進行管理,使軟件項目能夠按照預定的成本、進度、質(zhì)量順利完成,減小軟件開發(fā)的風險。
關鍵詞:設計方案;軟件開發(fā);模塊化設計
1 ? ?軟件管理系統(tǒng)
在現(xiàn)代信息社會中,各行各業(yè)都離不開軟件的支持,例如學生選課需要選課系統(tǒng),教師上網(wǎng)課需要有智慧樹、騰訊會議、大學慕課等在線教學平臺,乘火車需要有12306,乘飛機需要有離港系統(tǒng),存取款需要有手機APP等。各類軟件的應用有效促進了經(jīng)濟和社會的發(fā)展,提高了工作效率和生活效率。
軟件具有復雜性、一致性、可變性等本質(zhì)特性,是一種邏輯實體。在計算機軟件開發(fā)和維護過程中,管理的缺失將導致許多組織無法按照規(guī)定的時間和預算成本完成軟件開發(fā)。為了有效地管理軟件開發(fā)、測試、維護等過程,本文按照軟件工程思想,設計和實現(xiàn)了一款軟件項目管理系統(tǒng),對軟件開發(fā)人員、軟件產(chǎn)品、軟件開發(fā)過程和軟件項目進行管理,使軟件項目能夠按照預定的成本、進度、質(zhì)量順利完成。
2 ? ?設計方案
2.1 ?需求分析
在軟件項目管理中,系統(tǒng)通常面向經(jīng)理、項目負責人和組員3種不同的用戶,而不同的用戶需要使用的系統(tǒng)功能也是不同的。通過對不同用戶需求的分析,將系統(tǒng)的功能需求列出(見表1),系統(tǒng)整體結(jié)構(gòu)設計如圖1所示。
2.2 ?架構(gòu)設計
2.2.1 ?系統(tǒng)整體架構(gòu)設計
根據(jù)上文功能描述,得到本系統(tǒng)的整體架構(gòu)如圖2所示。可見,主要業(yè)務功能有人員管理模塊、項目管理模塊、時間管理模塊、質(zhì)量管理模塊和配置管理模塊,各個功能模塊在Web網(wǎng)頁上呈現(xiàn)出來,使用系統(tǒng)的人員在網(wǎng)頁上進行操作。Web端頁面將根據(jù)用戶請求傳至后臺Controller層,Controller層將請求傳至Service層,進行業(yè)務處理,將處理結(jié)果通過Dao層與數(shù)據(jù)庫進行數(shù)據(jù)處理,將返回結(jié)果再按照dao層-Service層-Controller層傳至Web頁面,Web頁面接收Controller層傳來的響應,對數(shù)據(jù)進行呈現(xiàn)。
2.2.2 ?數(shù)據(jù)庫設計
數(shù)據(jù)庫是一個系統(tǒng)的信息存儲部分,在整個系統(tǒng)中是不可缺少的。本系統(tǒng)數(shù)據(jù)庫使用的是MySQL,主要包括項目信息、用戶信息、項目進度信息。此外,當不同身份的用戶使用該系統(tǒng)在Web界面上進行操作時,部分信息的操作也會同步到數(shù)據(jù)庫中。當每個項目被分配后,項目和團隊則匹配成功。數(shù)據(jù)庫中包含的實體有用戶和項目,兩者之間的關系如圖3所示。
2.3 ?Web網(wǎng)站設計
好的人機交互界面可以使得系統(tǒng)的適用性提高,使用更加便捷。Web網(wǎng)頁端簡化了人工的操作,在網(wǎng)頁端簡單地對相關信息進行操作,就可直接更改后端數(shù)據(jù)庫中的內(nèi)容,無需再去數(shù)據(jù)庫中修改相關數(shù)據(jù),節(jié)省了大量的人力和物力。本項目采用SSM框架,支持多個平臺,使用方便。
不同角色之間的工作交互:經(jīng)理主要在一開始工作,為大家承接并分配項目,每個小組的負責人申請好項目以后,對組員進行分工,之后制定工作計劃安排,組員按照工作計劃完成自己的工作,并提交自己的工作內(nèi)容,修改工作任務的狀態(tài),具體設計如圖4所示。
2.4 ?安全性設計
隨著信息技術的不斷發(fā)展,安全問題越來越受到人們的重視。本軟件項目管理系統(tǒng)是針對軟件項目開發(fā)過程中的一個軟件管理平臺,保護用戶信息和系統(tǒng)中存在的信息安全不被竊取。為此,本文制定了以下安全設計。
(1)用戶信息與郵箱綁定,防止用戶惡意注冊。
(2)前端與后端使用AJAX傳輸,便于開發(fā)與維護。
(3)用戶使用手機號注冊,但是后期手機號碼可改,方便用戶使用。
(4)按用戶身份開發(fā)界面,即不同角色可操控功能不同,提高安全性。
3 ? ?系統(tǒng)開發(fā)
3.1 ?項目管理模塊
項目管理模塊對提高管理效率、保證軟件項目質(zhì)量起著關鍵的作用。項目管理模塊實現(xiàn)流程如圖5所示。
經(jīng)理可以進行項目入庫、項目查詢以及對項目的分配,項目負責人可以對組內(nèi)人員進行任務安排、對查詢項目信息以及申請項目。
3.2 ?配置管理模塊
配置管理是軟件生命周期中重要的控制過程。通過記錄、追蹤及監(jiān)督各個項目在各個階段的更新變化來對項目進行適當調(diào)整,使得項目與用戶需求極大程度地吻合。配置管理模塊的實現(xiàn)流程如圖6所示。
開發(fā)人員可以在該模塊上傳與下載配置文件,項目進行版本更新后,需進入變更管理中上傳新版本相應的變更文檔信息。
3.3 ?人員管理模塊
人員管理模塊面向所有角色開放。該模塊主要便于經(jīng)理對公司人員信息的掌握及調(diào)整,也用于員工對自己賬號的管理。其具體功能實現(xiàn)如圖7所示。
經(jīng)理可以對公司全部人員的信息進行增刪改查,項目負責人只可查看組內(nèi)成員的信息。所有身份都可以查看個人信息并對其進行修改,也可以進行密碼修改。
3.4 ?質(zhì)量管理模塊
質(zhì)量管理是確保員工工作效率且提高項目開發(fā)質(zhì)量的重要環(huán)節(jié)。一般情況下,質(zhì)量管理是由質(zhì)量保證人員負責實施,同時也需要項目負責人的監(jiān)督和管理。質(zhì)量管理模塊具體功能實現(xiàn)如圖8所示。
質(zhì)量管理模塊中,組員上傳每日項目情況報告內(nèi)容以及下載任意日期的測試報告,項目負責人查看,便于及時調(diào)整后續(xù)任務。
3.5 ?時間管理模塊
合理安排項目時間是項目管理中的重要內(nèi)容。通過項目進度的實時更新,將當前進度與項目計劃進行對照并作出及時調(diào)整,確保項目按時完成。時間管理模塊具體功能如圖9所示。
在時間管理模塊中,經(jīng)理可以看到所有項目組的工作進度以及項目周期,項目負責人與組員需要對項目進度進行及時的更新。
4 ? ?系統(tǒng)實現(xiàn)
4.1 ?軟件開發(fā)平臺
本系統(tǒng)為了提高各部分功能模塊的獨立性和安全性,采用的主要平臺和框架如下:
(1)數(shù)據(jù)庫基于MySQL技術實現(xiàn),開發(fā)工具為Navicat 11.2.7。
(2)后端處理業(yè)務邏輯,讀寫數(shù)據(jù)庫,并和前端界面進行數(shù)據(jù)的傳輸,基于SSM框架實現(xiàn)。
(3)系統(tǒng)的前端為用戶界面,有統(tǒng)一的底色和側(cè)邊欄,基于HTML和jQuery技術實現(xiàn)。
(4)網(wǎng)站前端開發(fā)工具使用JetBrains WebStorm 2019.1.3,后端的開發(fā)工具為IntelliJ IDEA 2019.1.3。其中,前端利用當前主流的AJAX技術,來保證數(shù)據(jù)的可靠、穩(wěn)定傳輸。利用BootStrap3.3.7框架,極大地簡化了對網(wǎng)頁UI的修飾。
4.2 ?服務器部署
本系統(tǒng)需要部署Web服務器。其采用B/S結(jié)構(gòu),使用tomcat服務器,服務器包含系統(tǒng)程序和數(shù)據(jù)庫。
5 ? ?結(jié)語
軟件項目管理越來越受到軟件開發(fā)組織和個人的重視。在信息技術高度發(fā)達的今天,人們會從各個角度設計軟件系統(tǒng),幫助管理軟件開發(fā)全過程。本軟件項目管理系統(tǒng)主要從開發(fā)一個項目的各個階段角度出發(fā),按照軟件工程思想設計,利用主流開發(fā)框架實現(xiàn)了一款軟件項目管理系統(tǒng),對軟件開發(fā)人員、軟件產(chǎn)品、軟件開發(fā)過程和軟件項目進行管理,其功能經(jīng)過了實驗測試。
基金項目:中國民航大學大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目“軟件項目管理系統(tǒng)設計與實現(xiàn)”(IEYCAUC2019041)