软件项目周报_软件产品研发流程
一個(gè)軟件的大致生命周期可以分為:項(xiàng)目啟動(dòng)、需求調(diào)研分析、系統(tǒng)設(shè)計(jì)、編碼實(shí)現(xiàn)、系統(tǒng)測(cè)試、系統(tǒng)測(cè)試、系統(tǒng)投產(chǎn)、系統(tǒng)驗(yàn)收等階段;下面分別詳細(xì)講解一下這幾個(gè)階段。
1. 項(xiàng)目啟動(dòng)
在項(xiàng)目啟動(dòng)階段,主要確定項(xiàng)目的目標(biāo)、范圍及其可行性,我們需要對(duì)項(xiàng)目的背景、干系人、決策人等等進(jìn)行了解。編制項(xiàng)目章程和組建項(xiàng)目團(tuán)隊(duì),包括:產(chǎn)品經(jīng)理、架構(gòu)師、UI工程師、開(kāi)發(fā)工程師、測(cè)試工程師等;明確項(xiàng)目管理制度,每個(gè)階段的成果產(chǎn)物及評(píng)審方式及過(guò)程,評(píng)審要有相應(yīng)的《會(huì)議紀(jì)要》,從項(xiàng)目啟動(dòng)起,項(xiàng)目經(jīng)理每周提供《項(xiàng)目周報(bào)》;測(cè)試階段,測(cè)試工程師每周提供《項(xiàng)目測(cè)試周報(bào)》等等都屬于項(xiàng)目管理制度。
2. 需求調(diào)研及分析
2.1 需求調(diào)研
了解相關(guān)對(duì)接系統(tǒng)的業(yè)務(wù)需求,比如該軟件是為其它業(yè)務(wù)提供服務(wù)的平臺(tái),那一定要了解清楚相關(guān)對(duì)接方的具體需求才能設(shè)計(jì)出最佳的系統(tǒng)架構(gòu)。又比如該軟件是一個(gè)業(yè)務(wù)系統(tǒng)那必須要了解清楚業(yè)務(wù)方的具體需求才能達(dá)到業(yè)務(wù)滿(mǎn)意、用戶(hù)滿(mǎn)意。
2.2 需求分析
需求分析階段主要對(duì)調(diào)研階段收集到的各項(xiàng)需求進(jìn)行細(xì)化分析,對(duì)業(yè)務(wù)需求進(jìn)行去粗取精、去偽存真、準(zhǔn)確理解,然后把它用軟件工程開(kāi)發(fā)語(yǔ)言(形式功能規(guī)約,即需求規(guī)格說(shuō)明書(shū))表達(dá)出來(lái)。需求明確后應(yīng)當(dāng)有PRD文檔、UI/UE設(shè)計(jì)圖、高保真圖等產(chǎn)出,項(xiàng)目經(jīng)理也應(yīng)當(dāng)產(chǎn)出一份詳盡的項(xiàng)目計(jì)劃并嚴(yán)格執(zhí)行。
3. 系統(tǒng)設(shè)計(jì)
3.1 概要設(shè)計(jì)
概要設(shè)計(jì)就是結(jié)構(gòu)設(shè)計(jì),其主要目標(biāo)就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示整個(gè)系統(tǒng)的架構(gòu),其中應(yīng)當(dāng)包含但不限于以下幾部分: - 系統(tǒng)架構(gòu)設(shè)計(jì): 需要對(duì)系統(tǒng)的整體技術(shù)架構(gòu)做出設(shè)計(jì),采用何種技術(shù)框架及架構(gòu),包含技術(shù)選型如web容器的選擇、高速緩存組件的選擇等;是否采用分層技術(shù),是否采用分模塊設(shè)計(jì)等等一系列技術(shù)方向進(jìn)行明確。
- 業(yè)務(wù)架構(gòu)設(shè)計(jì): 考慮到系統(tǒng)是一個(gè)滿(mǎn)足業(yè)務(wù)滿(mǎn)足市場(chǎng)的長(zhǎng)期存在,所以我們的系統(tǒng)需要應(yīng)對(duì)未來(lái)業(yè)務(wù)的發(fā)展,那就需要做出相應(yīng)的業(yè)務(wù)架構(gòu)設(shè)計(jì),包含系統(tǒng)未來(lái)的產(chǎn)品可擴(kuò)展性、系統(tǒng)收縮性等相關(guān)方面的設(shè)計(jì)。
- 網(wǎng)絡(luò)架構(gòu)設(shè)計(jì): 針對(duì)系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行設(shè)計(jì),是部署在內(nèi)網(wǎng)還是外網(wǎng),分模塊的系統(tǒng)需明確哪些模塊部署外網(wǎng)區(qū)、哪些模塊部署DMZ區(qū)、哪些模塊部署內(nèi)網(wǎng)區(qū),模塊之間的訪問(wèn)關(guān)系及端口要求等。
- 數(shù)據(jù)庫(kù)設(shè)計(jì): 針對(duì)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),包含是否采用分庫(kù)分表技術(shù),是否采用讀寫(xiě)分離設(shè)計(jì)等,系統(tǒng)中所有的表結(jié)構(gòu)設(shè)計(jì)及字段設(shè)計(jì)。
- 接口設(shè)計(jì): 針對(duì)系統(tǒng)內(nèi)部接口及外部接口進(jìn)行設(shè)計(jì),包含接口通訊方式、接口字符編碼、接口數(shù)據(jù)規(guī)范、接口報(bào)文規(guī)范、接口報(bào)文格式、接口字段等進(jìn)行設(shè)計(jì)。
- 安全設(shè)計(jì): 包含數(shù)據(jù)的傳輸與存儲(chǔ)安全、安全認(rèn)證方式、數(shù)據(jù)的加解密簽名驗(yàn)簽方式、共計(jì)及防范方案等進(jìn)行相應(yīng)設(shè)計(jì)。
- 非功能設(shè)計(jì): 主要包含系統(tǒng)性能、可靠性、可用性、可擴(kuò)展性、可維護(hù)性等相關(guān)設(shè)計(jì)。
3.2 詳細(xì)設(shè)計(jì)
詳細(xì)設(shè)計(jì)主要任務(wù)就是將軟件分解成模塊,是指能實(shí)現(xiàn)某個(gè)功能的數(shù)據(jù)和程序說(shuō)明、可執(zhí)行程序的程序單元。可以是一個(gè)函數(shù)、過(guò)程、子程序、一段帶有程序說(shuō)明的獨(dú)立的程序和數(shù)據(jù),也可以是可組合、可分解和可更換的功能單元,其中要包含具體功能的簡(jiǎn)介、功能流程、輸入輸出項(xiàng)、數(shù)據(jù)庫(kù)操作、異常處理等,可以理解成好的詳細(xì)設(shè)計(jì)其實(shí)就是偽代碼。
4. 編碼實(shí)現(xiàn)
軟件編碼就是根據(jù)產(chǎn)品原型圖、UI/UE設(shè)計(jì)圖、設(shè)計(jì)文檔轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序,即寫(xiě)成以某一程序設(shè)計(jì)語(yǔ)言表示的源程序清單。開(kāi)發(fā)人員應(yīng)當(dāng)充分了解軟件開(kāi)發(fā)語(yǔ)言、工具的特性和編程風(fēng)格,嚴(yán)格遵守開(kāi)發(fā)規(guī)范進(jìn)行代碼編寫(xiě);良好的編碼風(fēng)格、清晰的編碼注釋等都有助于提升軟件產(chǎn)品的開(kāi)發(fā)質(zhì)量。
5. 系統(tǒng)測(cè)試
5.1 功能測(cè)試
對(duì)軟件進(jìn)行測(cè)試是保證軟件質(zhì)量的重要手段。開(kāi)發(fā)工程師開(kāi)發(fā)完成后,可以交由測(cè)試工程師測(cè)試。測(cè)試工程師測(cè)試到BUG要反饋給開(kāi)發(fā),開(kāi)發(fā)進(jìn)行修改;功能測(cè)試通常需要多輪反復(fù)的測(cè)試多次,直至測(cè)試通過(guò)達(dá)到軟件質(zhì)量要求。
5.2 用戶(hù)驗(yàn)收測(cè)試
用戶(hù)驗(yàn)收測(cè)試階段,也是通常的UAT(User Acceptance Test)階段,用戶(hù)驗(yàn)收測(cè)試是最終用戶(hù)可以檢查軟件是否符合業(yè)務(wù)要求的最后階段。UAT由了解要求并了解構(gòu)建軟件目的的最終用戶(hù)執(zhí)行。此測(cè)試是在軟件運(yùn)行之前執(zhí)行的最后一次測(cè)試。最終用戶(hù)使用現(xiàn)實(shí)生活場(chǎng)景并為真實(shí)數(shù)據(jù)構(gòu)建UAT測(cè)試用例,用戶(hù)驗(yàn)收測(cè)試在最終用戶(hù)在上線之前驗(yàn)證軟件是否滿(mǎn)足這些業(yè)務(wù)需求方面具有重要作用。
5.3 性能測(cè)試
通過(guò)自動(dòng)化的測(cè)試工具模擬多種正常、峰值以及異常負(fù)載條件來(lái)對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試,以此可以預(yù)估出系統(tǒng)的最大承受能力以及推算出能否滿(mǎn)足系統(tǒng)上線后的性能要求。通常包含以下幾個(gè)方面:
- 基準(zhǔn)測(cè)試: 在給系統(tǒng)施加較低壓力時(shí),查看系統(tǒng)的運(yùn)行狀況并記錄相關(guān)數(shù)做為基礎(chǔ)參考
- 負(fù)載測(cè)試: 是指對(duì)系統(tǒng)不斷地增加壓力或增加一定壓力下的持續(xù)時(shí)間,直到系統(tǒng)的某項(xiàng)或多項(xiàng)性能指標(biāo)達(dá)到安全臨界值,例如某種資源已經(jīng)達(dá)到飽和狀態(tài)等 。
- 壓力測(cè)試: 壓力測(cè)試是評(píng)估系統(tǒng)處于或超過(guò)預(yù)期負(fù)載時(shí)系統(tǒng)的運(yùn)行情況,關(guān)注點(diǎn)在于系統(tǒng)在峰值負(fù)載或超出最大載荷情況下的處理能力。
- 穩(wěn)定性測(cè)試: 在給系統(tǒng)加載一定業(yè)務(wù)壓力的情況下,使系統(tǒng)運(yùn)行一段時(shí)間,以此檢測(cè)系統(tǒng)是否穩(wěn)定。
- 并發(fā)測(cè)試: 測(cè)試多個(gè)用戶(hù)同時(shí)訪問(wèn)同一個(gè)應(yīng)用、同一個(gè)模塊或者數(shù)據(jù)記錄時(shí)是否存在死鎖或者其他性能問(wèn)題
6. 項(xiàng)目上線試運(yùn)行
所有測(cè)試通過(guò),并與客戶(hù)或者上級(jí)達(dá)成一致后,系統(tǒng)進(jìn)行試運(yùn)行(通常指小范圍運(yùn)行),穩(wěn)定后上線。上線包括:上線前期準(zhǔn)備,包括要上線的代碼程序包、數(shù)據(jù)庫(kù)DDL、DML腳本、系統(tǒng)初始化參數(shù)配置等;上線部署、部署后業(yè)務(wù)驗(yàn)證;投產(chǎn)完畢后的系統(tǒng)運(yùn)行狀況監(jiān)控:各業(yè)務(wù)功能是否正常運(yùn)行、系統(tǒng)資源、數(shù)據(jù)庫(kù)資源等是否在合理使用范圍內(nèi)。
7. 投產(chǎn)驗(yàn)收
整理交付物:項(xiàng)目需求文檔、項(xiàng)目設(shè)計(jì)文檔、安裝部署手冊(cè)、系統(tǒng)操作手冊(cè)等等,并移交至相關(guān)運(yùn)維部門(mén)或人員進(jìn)行后期系統(tǒng)維護(hù)。釋放項(xiàng)目團(tuán)隊(duì),進(jìn)行項(xiàng)目回顧總結(jié),項(xiàng)目匯報(bào),完成項(xiàng)目結(jié)項(xiàng)等工作。
總結(jié)
以上是生活随笔為你收集整理的软件项目周报_软件产品研发流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 叮咚买菜第四季度营收 62 亿元,同比增
- 下一篇: 查看ssh端口号_萌新云服务器折腾记-S