2020軟體工程0908個人程式設計練習

2022-08-21 15:06:11 字數 4071 閱讀 4792

這個作業屬於哪個課程

這個作業要求在**

這個作業的目標

個人程式設計練習

學號111800527

目錄github 執行結果

單元測試截圖和描述

單元測試覆蓋率優化和效能測試

**規範鏈結

遇到的困難

總結psp2.1

personal software process stages

預估耗時(分鐘)

實際耗時(分鐘)

planning

計畫30

60estimate

估計這個任務需要多少時間

1010

development

開發60

70analysis

需求分析 (包括學習新技術)

300360

design spec

生成設計文件

2020

design review

設計複審

3030

coding standard

**規範 (為目前的開發制定合適的規範)

2020

design

具體設計

6060

coding

具體編碼

100120

code review

**複審

60120

test

測試(自我測試,修改**,提交修改)

6060

reporting

報告60

60test report

測試報告

3030

size measurement

計算工作量

2030

postmortem & process improvement plan

事後總結, 並提出過程改進計畫

3030

合計890

1080

最開始我首先著手考慮任務一和任務二的實現(因為任務三不知道怎麼下手)

任務一和二相對來說還是比較好實現的,最開始我的大致思路如下:

然後和室友討論了兩節課後發現對於任務一和任務二,可以直接提取json檔案後將有效資訊存入字典,然後把字典存入使用者/專案列表

效果如下所示:

idlist
當時只想到用這種方法能解決任務一和任務二,對於任務三該怎麼這樣使用字典並沒有想到

所以對這次作業的解題思路也就變成了下面這種:

有了思路以後如何實現又陷入了窘境……

看了助教給的示例**後發現要設定命令列引數才能進行除錯、單元測試

於是又開始面向大佬、面向 csdn 開始學習如何設定命令列引數……

還好在示例**和同學的指點下搞定了怎麼設定命令列

結果怎麼進行單元測試又擺在了我面前……您看我還有機會嗎

又在面向大佬、面向 csdn 了許久後學會了單元測試就是對程式裡的各個函式進行測試(其實還是寫一段測試**)

最後在快要到截止日期之前總算把單元測試**完成

並安裝了coverage統計了覆蓋率

總的實現過程因為自己不懂的太多花費了太多時間……

設計函式 readjson 提取檔案,calculate_result 獲取各種情況下相應數量,都是單執行緒

命令列設定

parser.add_argument('-i', '--init', default='')

parser.add_argument('-u', '--user', default='')

parser.add_argument('-r', '--repo', default='')

parser.add_argument('-e', '--event', default='')

readjson 函式
def readjson(addr):

filelist = os.listdir(addr)

f2 = open('data.json', 'w', encoding='utf-8')

for file in filelist:

pathname = addr + '\\' + file

f = open(pathname, 'r', encoding='utf-8')

for line in f:

data = json.loads(line)

f2.write(line)

f2.close()

f.close()

return

calculate_result 函式
def calculate_result(datalist, username, reponame, eventname):

單元測試**

def test_readjson():

data = open("data.json", 'r', encoding='utf-8')

i = 0

for da in data:

if i == 0:

assert json.loads(da)['actor']['login'] == 'cdupuis'

i += 1

def test_calculate_result():

l =

data = open("data.json",'r',encoding='utf-8')

for da in data:

assert calculate_result(l,'cdupuis','pushevent','atomist/automation-client') == none

測試截圖

首先安裝 coverage,之後逐步測試並生成覆蓋率 html 檔案

html 覆蓋率檔案

2020軟體工程個人作業06

這個作業屬於哪個課程 這個作業的要求在 homework 10864 這個作業的目標 回顧 總結 作文的正文 其他參考文獻 以往部落格 對軟體專案的出生到結束有了一定的了解,加深了對軟體專案的理解,但在專業技術知識累計和運用方面還是存在不足,需要繼續努力!1k左右 2020軟體工程作業 團隊06,腦...

2020軟體工程個人作業06

這個作業屬於哪個課程 這個作業要求在 這個作業的目標 最終總結 作業正文 如下其他參考文獻 時間匆匆,軟體工程實踐四個月眨眼間間就走過,還記得當時第一次作業你回答的問題嗎?當初為什麼報 電腦科學與技術 這個專業?當初對 電腦科學與技術 這個專業的期待和想象是什麼?當初希望自己是如何投入這個專業的學習...

2020軟體工程02

軟體工程 作業要求 homework 10408 作業目標 對自己的總結和規劃 作業正文 見下文其他參考文獻 1,初心 勇氣和信心。回顧初心,回想自己當初為什麼報這個專業。有的同學源於身邊的親人的榜樣,也有同學是自己對技術的渴望和喜愛。但過去兩年的學習大部分同學都感覺與初心有些距離的。不知你們是否看...