- Implementation
- schedule change
- Requirement Change/ Inconsistent
- USB11(Unidentified Small Bugs), duplicate add staff
- Techial Problem
- Design is not good, but there are no perfect software design.
- 4 in 1.
- Code duplicate
- Programming style, our program have different version of code(但看到有進步是好事來的)
- Not compartable when an object class is updated.
- Duplicate Library: Filewriter.
- Test-Driven
- Because of time, only a few classes have been implemented.
- Balance of Quality and quantity.
- It is impossible to have faster development with fewer bugs occur.
- Design Pettern
- Command Pattern: easy to debug
- Skeleton Pettern
- Adapter Pettern
- MVC: Command Pattern can fully implemented.
2008年5月23日星期五
Problem / Difficulties(Project Work檢討會議記錄)
2008年5月21日星期三
Future Extension(Project Work檢討會議記錄)
Create Project
- Project End Date can be calculated by latest task's end date.
- Project Type can be a seletion box.
- Project Leader can be search and added though Database.
Maintain Staff
- Add Staff
- Staff data are got from database.
- Staff and project are separated, so no need open project before maintain staff.
- Skill can be shown by click on a button.
- Department can be selected.
- Post can be search and selected.
- Skills can be maintained, search and added.
- Delete Staff
- Alert if staff have task in charge.
- Edit Staff
- Add cancel button.
- Table will adjust when window size is changed.
- Staff have e-mail address.
Maintain Task
- Undo/Redo
- Create Task
- Duration: when focus is lost, adjust task end date.
- Adjust start date when dependent task is choosen.
- Can depen on sub tasks.
- When start date is changed, change the end date or duration.
- Edit Task
- Cannot be edited after task is completed.
- In popup menu, complete task will not be shown if task have not started.
- In popup menu, start task will not be shown if task have started.
- Add staff: staff can be search and selected( more than one)
- If project status is not in planning mode, Real start date can not be selected by user, only task is started the real start date is recored.
Save Project
- "Save" button should be "Save project"
Generate PERT Chart
- Export file: user can choose file format.
- Change font size, color of the title and description.
- Change color of normal path and critial path.
- Title can be customized.
- Node can be draged by user.
Generate Gantt chart
- Export file: user can choose file format.
- Change font size, color of the title and description.
- Gantt chart bar can show task information such as progress, start date and end date.
- Title can be customized.
- Can preview real project.
- Open the generated file after generation.
- Show task dependency.
- Re-generate when the project change.
- Task information can be edited and Gantt chart bar can be adjusted. Then reverse to project data.
Find out Workload
- Contribution in one project/task.
- Can be displayed in "add staff to task" function in Maintain Task.
Reminder
- Remind all reminder at once.
- Can set reminded or remind again when reminding.
- Send reminder to staff by e-mail.(If staff have e-mail address)
Generate Progress Rerport
- Add preview function.
- UI will be consistent to other report generation function.
- Add "Select All" button.
- Report to Project manager everyday by e-mail.
- Report can print to printer.
Staff Analyze Report
- More criteria of status such as staff who miss deadline or staff who never miss deadline.
- More than one staffs can be selected.
- Criteria of status can be multi-selected.
- Report can print to printer.
- Report can be saved to other places.
Cost Report
- Project are sorted by total cost
- "Type" can be deleted.
- Report can print to printer.
- Report can be saved to other places.
Project Analyze Report
- Table can be sorted
- Report can print to printer.
- Report can be saved to other places.
Timetable
- Web server can solve multi connection.
- User can use existing web server to display time table.
- Can view by several day, week and month.
Main GUI
- Task bar, help file
- After opne project, main area should display task information and Gantt chart, both of them can be modified by user.
2008年5月19日星期一
Critical evaluation of the work
Critical evaluation of the work - for a critical discussion of all aspects of the project, from whether the original problem formulation was correct, to how well the solution meets the specification.
批判性評價的工作 - 為一個專案的各方面的關鍵討論,從原來的問題有否正確制訂,到解決方案如何符合規格。
Results and conclusions: a summary and a critical discussion of the results, conclusions, any problems/difficulties encountered, any delays/changes in project schedule, limitations of the proposed system, and in some cases a subsection suggesting further developments to be undertaken.
結果與結論:一個總結和一個批判的討論結果、結論、任何問題/遇到的困難、在專案進度上的任何延誤/變化、系統的限制和在某些情況下制訂的進一步發展建議。
今次の約定:
我們會一步一步的把你回到專案剛剛啟動的情況。
- 看看現在的程式,找出可以改善的地方,為整體的系統評價。
- 看看工作記錄,回憶系統製作過程的苦與樂。
- 檢視我們的設計規格(Design Specification)。
- 檢視我們的需求規格(Design Specification)
我們這個製成品都可以算是完成了吧!雖然有可用功能,但是還有很多值得改善的地方。
即將到達: 試用階段
- 詳見會議記錄
- 製成品有沒有符合使用者要求。
即將到達: 製作階段
- 製作過程遇到的技術困難。
- 太多Bug?從設計的角度看,為何會出現太多Bug?
- 有甚麼方法減少?
- 時間表上的變更。(盡量以其他問題取代家課壓力,例如花太多時間找出解決某某問題,不想說謊就不如不要說,不要以為坦白就會從寬,坦白告訴人只會令人們以為我們沒有用心於這個專案。)
- 7個Iteration,為何我們沒有實行?
- Release 2 的Function為何延期?
- 製成品延誤完成的原因
- 如果給你再來,你會如何安排?
- 有甚麼新技術研究出來?此技術如何幫助你解決困難?
- Design Pettern
- Open Close Principle
- Factory Pattern
- Comand Pattern
- MVC
- 重構有沒有給你一些新的想法?
- 過程中甚麼Tools幫助我們度過難關?
- Design Pettern
- 不用討論平日我們的工作流程,這些人們不會看的。(雖然如此,我們日後仍會抽空檢討)
即將到達: 設計階段
- 與現有的系統相比,有甚麼不同?為什麼?
- 記憶中有甚麼Function是和Design中有很大分別,抽一兩個最大變更的Function說明之
- 參考Class diagram、Use Case Diagram,不要看Sequence Diagram,太長了
- 系統架構符合預期嗎?
- Web base/ Local use / One project per program
- 如果比你再做,你會怎樣設計系統架構?
- 如果比你再做,你還會選用這種程式語言嗎?
- Java / C# / C++ / PHP / J2EE / ASP.NET/ Oracle Designer
- 有沒有後悔當初選用物件導向編程?為什麼?
- 我們收集足夠的意見嗎?
- 其實不足,取得意見的階段意見較少,實作時才知道出入較多。
- 這些要求是否使用者真正需要的呢?
- 有沒新加的需求?有沒有要求可以放寬?
- 當初選用的開發方式有沒有貫徹實行呢?
- 開發方式:Extreme Programming
- 少量釋出
- 測試先行
- 我們的系統設計是否滿足使用者的要求?
- 當初的要求和現在的要求有多少出入?為什麼?
- 怎樣才可減少需求變更的出現?
2007年8月10日星期五
Project work 3 第3次會議記錄
與會者:Charlie, David,輝
| 地點:柴灣IVE圖書館 | 日期:7/8/2007 | 時間:下午2時-5時 |
會議目的:繼續啟動Project Management Tools專案團隊
- 取得啟輝對Project的意願
- 願景:完成專案,平過渡過,沒有意外發生。
- 目標:盡自已努力完成工作。
- 貢獻:
- 愛做的:
- 整理文件、撰寫文件
- 不愛做的:
- 編程
- 擔憂:
- 資料遺失
- 討論重要事項、團隊規則
- 成員的工作時間:
- David
- 任何時間(星期天全日除外)
- Charlie
- 任何時間(星期四晚上及星期天全日除外)
- 輝
- 稍後才會知道
- 已知逄星期四至六的晚上不可
- 聯絡方法
- 時間不許可時可用MSN進行網上討論
- 文件格式
- 使用統一的範本,以免有兼容的問題
- 臨時動議::(留待下次討論)
- 要有程式碼才會有文件
- 不要使用貪新鮮去使用最新的軟體,以免有兼容的問題
- 所有要繳交的項目要提早一星期完成,預留時間做檢查,即使項目還有可改進的地方
- 團隊規則會在下次會議討論
- 列出專案利害關係人的初步清單
- 有利的:只有我們的老師,同學們會很忙碌,沒有空教我們
- 有害的:可能是我們的Second reader
- Project Plan
- 定下團隊目標
- 目標:完成所有項目,並且使我們在各方面的技能都有最大的進步。
- 建立流程
- 會議管理:
- 在會議完畢後寫會議報告,並準備下次的議程。
- 會議場地佈置簡單即可。
- 衝突管理:所有人願意花時間尋求共識。
- 專案流程:
- Proposal
- Requirement specification
- Design specification
- Coding
- Test plan
- User guide
- 分配角色(可隨時變動)
- 領導者:(可以是任何人,只要不是空著便可)
- 文書:輝
- 進程監察:輝
- 使用者代理:會在編程時才決定
- 系統測試員:所有成員都會做
- System Planning:Charlie和David
- 審查project suggestion form的內容,作最後確認。
- Expected deliverables:
- project management tool應該以標準為主,切合所以類型的專案,不用「度身訂做」
- User manual應該合而為一,在不同角色用法不相同的地方分別說明便可。
- function:
- 增加Login/logout
· 列出本次會議的行動項目(何人、何事、何時)。
| 何事 | 何人 | 何時 |
| 尋求supervisor的意見 | All | 8月中 |
| 學習Java | All | 9月前完成 |
· 為下次會議訂定議程及時間。
· 對於此次會議給予評價。
- 這兩個項目會以電郵通知
2007年7月28日星期六
Project work 3 第2次會議記錄
與會者:Charlie, David
| 地點:小西灣(藍灣半島) | 日期:28/7/2007 | 時間:下午2時 |
會議目的:開始啟動Project Management Tools專案團隊
議程:
· 歡迎。
· 簡介。
· 分享心中理想(可能)的結果
Charlie:我將會學到如何做一個好的project,過程有良好的時間管理,不會像project 2 的趕。
David: 用過的人都說好,自己也「用」之無愧。
· 分享成員的目標
Charlie:
- 做好所有項目,沒有任何拖延。
- 做出來的系統和原來的構想一樣,沒有任何差異。
David:
- 我所寫的程式全都可以輕易合併到其他組員所寫的。
- 做出來的系統近乎完美,沒有bug。
· 成員可做到的貢獻
成員愛做的:
Charlie:
- 時間(星期四晚和星期日全日除外)
- 物資(例如紙張)
- 編寫程式
- 做System plan(OOT有關的文件)
- Program Design
- 編寫程式
- 做System plan(OOT有關的文件)
Charlie和David:
- 寫報告
- 通宵趕工
· 所需扮演的團隊角色
- 領導者
- 文書
- 進程監察
- 使用者代理
- 系統測試員
- System Planning
· 疑問和擔憂
- 團體不能準時完成任務。(內:不能完成承諾的工作;外:不能準時繳交產品)
- 組員有溝通障礙。
· 解決方案
- 做好基本的部份,再一步步加上其他function。
- 時間編排要有彈性以應付超時的工作。
- 要關心組員,得知他的難處,給予適當的協助。
- 定期舉行會議檢討進度。
- 善用各種溝通工具,例如在沒有空的時候以e-mail或MSN通知對方。
- 盡量安排時間面對面的討論。
· 為下次會議訂定議程及時間。
- 取得啟輝對Project的意願
- 討論重要事項、團隊規則
- 列出專案利害關係人的初步清單
- Project Plan
- 定下團隊目標
- 建立流程
- 分配角色(可隨時變動)
· 對於此次會議給予評價。
Charlie: OK,討論的時間心情都比較輕鬆的。
· 散會。
