文/楊貝松 劉暉虎
軟件測試是使用人工操作或者軟件自動(dòng)運(yùn)行的方式來檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別的過程,它是幫助識(shí)別開發(fā)完成的計(jì)算機(jī)軟件的正確度、完整度和質(zhì)量的軟件過程,是軟件質(zhì)量的重要子域。隨著軟件測評實(shí)驗(yàn)室的不斷擴(kuò)大,需要管理的項(xiàng)目日益增多,實(shí)驗(yàn)室管理層對實(shí)驗(yàn)室管理難度不斷加大。因此急需一套信息化管理系統(tǒng),對實(shí)驗(yàn)室的人員、項(xiàng)目、進(jìn)度等統(tǒng)一管理,統(tǒng)一調(diào)配,既提高了軟件測評的質(zhì)量也提高了工作效率。
軟件測評實(shí)驗(yàn)室業(yè)務(wù)信息管理系統(tǒng),最主要的任務(wù)是提高管理效率,讓實(shí)驗(yàn)室管理人員全面掌握當(dāng)前實(shí)驗(yàn)室項(xiàng)目運(yùn)作情況,提前安排項(xiàng)目進(jìn)度,合理分配資源,最大提高工作效率。
使用UML 方法對軟件測評實(shí)驗(yàn)室業(yè)務(wù)活動(dòng)進(jìn)行分析得到業(yè)務(wù)用例圖如圖1所示。
根據(jù)業(yè)務(wù)用例圖對系統(tǒng)功能需求進(jìn)行分析,得到以下主要功能:
(1)人員管理功能:人員主要指主任、項(xiàng)目組大組長、一般人員,對于系統(tǒng)管理員,具備權(quán)限管理和新增修改刪除人員等功能,其他人員具備各自權(quán)限;
(2)項(xiàng)目管理功能:實(shí)驗(yàn)室主任新增項(xiàng)目及其負(fù)責(zé)人信息,查看項(xiàng)目信息;
(3)子項(xiàng)目管理功能:項(xiàng)目大組長新增子項(xiàng)目及子項(xiàng)目具體信息,設(shè)置小組長。創(chuàng)建成功后,根據(jù)子項(xiàng)目周報(bào)可以顯示子項(xiàng)目的主要信息;
(4)項(xiàng)目組長周報(bào)功能:項(xiàng)目組長將本周計(jì)劃和本周總結(jié)進(jìn)行提交;
圖1:系統(tǒng)業(yè)務(wù)用例圖
(5)子項(xiàng)目組長周報(bào)功能。子項(xiàng)目小組長提交周報(bào),上報(bào)項(xiàng)目進(jìn)度、狀態(tài)。
軟件測評實(shí)驗(yàn)室業(yè)務(wù)信息管理系統(tǒng)的基本結(jié)構(gòu)體系為B/S 結(jié)構(gòu),主要包含三大部分,Web 服務(wù)器,Django web 框架以及數(shù)據(jù)庫。
(1)Web 服務(wù)器主要用于發(fā)送http 請求,接收web 框架內(nèi)容并顯示。
(2)Django 作為系統(tǒng)的核心Web 框架,用于開發(fā)Web 相關(guān)的業(yè)務(wù)邏輯,通過URL 分配模式,可以靈活解決路由問題??蚣苷w切分為三層,稱為MTV 模式:
第一層,Model(模型層),即數(shù)據(jù)存取層,需要在該層完成關(guān)系型數(shù)據(jù)庫與業(yè)務(wù)實(shí)體對象的映射;
第二層,View(視圖層),即業(yè)務(wù)邏輯層,處理URL 分配的請求并返回響應(yīng)。整個(gè)項(xiàng)目的邏輯處理也大多在視圖層進(jìn)行實(shí)現(xiàn);
第三層,Template(模板層),即表現(xiàn)層,用于約定前端頁面的顯示信息。
(3)數(shù)據(jù)庫用于與模型層進(jìn)行數(shù)據(jù)交互,存儲(chǔ)和更新數(shù)據(jù)。
根據(jù)需求分析,系統(tǒng)的主要功能包括人員管理功能、項(xiàng)目管理功能、子項(xiàng)目管理功能、項(xiàng)目組長周報(bào)功能、子項(xiàng)目組長周報(bào)功能等,對各功能進(jìn)行進(jìn)一步細(xì)化得到系統(tǒng)功能結(jié)構(gòu)圖如圖2所示。
基于軟件測評實(shí)驗(yàn)室實(shí)際業(yè)務(wù),結(jié)合系統(tǒng)需求分析中的功能模塊劃分,識(shí)別出用戶、項(xiàng)目、子項(xiàng)目、子項(xiàng)目周報(bào)、子項(xiàng)目工作量、項(xiàng)目組長周報(bào)6 類主要業(yè)務(wù)實(shí)體以及相關(guān)核心業(yè)務(wù)實(shí)體集。實(shí)體間ER 圖3所示。
圖2:系統(tǒng)功能結(jié)構(gòu)圖圖
圖3:系統(tǒng)實(shí)體間ER 圖
根據(jù)系統(tǒng)設(shè)計(jì)中的功能結(jié)構(gòu)圖、數(shù)據(jù)庫設(shè)計(jì),對系統(tǒng)功能進(jìn)行實(shí)現(xiàn)。系統(tǒng)開發(fā)采用Django 框架,編輯工具采用Pycharm,首先新建項(xiàng)目django-admin startproject ruanjian,其次創(chuàng)建應(yīng)用python manage.py startup app1,創(chuàng)建成功后對models.py、views.py、templates 使用Python 語言編寫數(shù)據(jù)庫、控制邏輯、展示頁面。
系統(tǒng)實(shí)現(xiàn)后的主要功能界面如圖4子項(xiàng)目周報(bào)界面、圖5項(xiàng)目管理界面。
本論文從軟件測評實(shí)驗(yàn)室實(shí)際出發(fā),解決了實(shí)驗(yàn)室人員分散,信息管理落后導(dǎo)致工作效率低下,人員積極性不高的問題。首先采用UML圖的形式進(jìn)行需求分析畫出業(yè)務(wù)用例圖,進(jìn)而對系統(tǒng)功能進(jìn)行需求分析,然后對系統(tǒng)功能、數(shù)據(jù)庫進(jìn)行設(shè)計(jì),最后采用Django web框架對系統(tǒng)進(jìn)行了實(shí)現(xiàn)。通過項(xiàng)目管理設(shè)置標(biāo)準(zhǔn)工作人日,周報(bào)管理每周提交項(xiàng)目進(jìn)展情況,有力推動(dòng)了項(xiàng)目的進(jìn)展,系統(tǒng)中的數(shù)據(jù)也為人員考核積累了充分的數(shù)據(jù)支撐。通過系統(tǒng)的運(yùn)行,實(shí)驗(yàn)室工作效率有了明顯提升。
圖4:子項(xiàng)目周報(bào)管理界面
圖5:項(xiàng)目管理界面