結對程式設計(第7組)

2022-05-15 12:15:19 字數 2606 閱讀 1393

2、psp**

psp2.1

personal software process stages

預估耗時(分鐘)

實際耗時(分鐘)

planning

計畫180

· estimate

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

development

開發120

180· analysis

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

1010

· design spec

· 生成設計文件

· design review

· 設計複審 (和同事審核設計文件)

2020

· coding standard

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

· design

· 具體設計

2020

· coding

· 具體編碼

80120

· code review

· **複審

· test

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

2020

reporting

報告· test report

· 測試報告

1010

· size measurement

· 計算工作量

· postmortem & process improvement plan

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

5060

合計330

440思路:3、解題思路描述

(1)對於統計字元和行數來說,首先通過遍歷文件找中每乙個字元(符合特定ascii範圍)和換行符的個數,從而進行統計。

(2)統計單詞個數的時候,首先遇到字元的時候,考慮其是不是首個字母(直接與分隔符相連),如果是的話,則開始計算在遇到下乙個分割符的時候,中間相隔幾個字元(從而判斷是否符合單詞的長度定義)

(3)當確定單詞之後,在將其存入到hashmap中,從而獲取單詞的出現的頻率。

4、設計實現過程

考慮到如下五個主要的核心功能:統計有效行數、統計字元數、統計單詞數、統計檔案中各單詞的出現次數,最終只輸出頻率最高的10個、按照字典序輸出到檔案。

(1) compoment design schema

軟體構件的設計設計如下三個構建:

wordcountcore構件用於實現系統的核心功能:統計有效行數、統計字元數、統計單詞數、統計頻率最高的topten單詞。

outputmodule輸出部分作為乙個單獨的構件進行設計。

unittestmodule考慮到單元測試,該模組作為乙個單獨的構件設計用於來充分對wordcountcore的四個核心功能進行針對性測試。

wordcountcore構件可以以動態庫dll的形式完成,其實現通過wordoperation類來進行實現。

四個核心功能在類中設計為public函式,方便其他模組的呼叫,並同時考慮到重用。

其他支援性功能在類中設計為private函式。

5、記錄在改進程式效能上所花費的時間,描述你改進的思路,並展示一張效能分析圖(由vs 2017的效能分析工具自動生成),並展示你程式中消耗最大的函式。

6、**說明,展示出專案關鍵**,並解釋思路與注釋說明。

(1)通過逐行讀取文件中字元的內容,以換行符為標記獲取行數,此外,在讀取每行的字元內容的過程中,進行字元的判斷,判讀其是否屬於我們所設定的字元範圍內,以便進行字元個數的統計。

(2)在字元統計的過程中,首先判斷在每個單詞中,首字母(該字元的前乙個字元是分隔符)的位置,然後獲取結束字元的位置(該字元的下乙個字元是分割符),然後進行兩次判斷:

a、判斷結束字元與首字元之間的間隔小於4個字元長度,則直接忽略(不是我們需要的單詞),接下來執行下面的步驟b;

b、然後判斷這個「單詞」是不是以連續的四個英文本元開頭,符合要求則是我們需要的單詞,然後將其儲存到hashmap中,否則,直接忽略,直接進行下乙個的單詞判斷。

c、通過對hashmap中的單詞進行sort排序,從而輸出頻率出現最多的m個單詞資訊。

通過此次的結對程式設計,深刻理解到了兩人結對對工作效率的重要性,相對於單個人的程式設計,在面對於較大的工作量的時候,有時候便難以勝任,通過兩人的合作,乙個人編寫,另一人監督指導,既可以減少在**書寫過程中的錯誤,也可以進行一些思想思路上的幫助(當遇到程式設計思路障礙的時候)。

從結對程式設計到結對工作

熟悉極限程式設計的人都知道,在極限程式設計的十二項實踐中,有乙個非常重要的實踐就是結對程式設計,也就是兩個人坐在同一臺電腦前面,使用相同的鍵盤和滑鼠來開發同樣的乙個模組,乙個負責 的鍵入,另外乙個人負責盯緊可能出現的錯誤,包括低階錯誤和方向性的錯誤。而且,當乙個問題對其中乙個人難以解決而恰好是另外乙...

從結對程式設計到結對工作

熟悉極限程式設計的人都知道,在極限程式設計的十二項實踐中,有乙個非常重要的實踐就是結對程式設計,也就是兩個人坐在同一臺電腦前面,使用相同的鍵盤和滑鼠來開發同樣的乙個模組,乙個負責 的鍵入,另外乙個人負責盯緊可能出現的錯誤,包括低階錯誤和方向性的錯誤。而且,當乙個問題對其中乙個人難以解決而恰好是另外乙...

結對程式設計理解

做呼叫中心監控系統的時候,跟專案經理兩個人結對程式設計。他負責寫 我負責回答所有他對系統中不理解 中的地方。我們兩個經常就某個功能實現的設計討論開來,我們互相發現對方設計方面的不足,最後統一乙個好的 設計方法。結對程式設計的那段時間,我統計了一下我們的開發效率是兩個人原來開發效率的130 提高了30...