2008年5月31日星期六
2008年5月28日星期三
Final Report Oral Presentation and Demonstration
Power point出爐時間:
- 上午3-4時
- 早上11時
建議準備流程:
- 做Power point
- 製作Test data/ Test file
- 自己試行一次,有bug的路線要修改,直到沒有問題為止。
- Present準備,寫重點,表達方法。
- 準備常見問題,問及時便可快速解答。
- 如果之前的試行路線不安全,現在可以試著修改你的程式,看看可否解決難題。改壞了用Subversion還原再來。Debugging所花的時間難以估計,你有可能花了一整個晚上還是徒勞無功,因此要放到最後才做,除非你已經想到修正方法(知道要修正那裡的程式碼)吧!
Presentation流程:
和上年的Project 3A一樣,先Setup,再Present,後Demo。
- Setup:
- 以一個可執行的Folder,內有jar file和程式運行時所需的檔案。
- Present前先看看你的jar file是否能運行,如不能運行可能是JRE版本太舊,預先準備JRE安裝檔案以備不時之需。
- 檔案應同時放在USB記憶體和網路中,萬一USB有問題也可以連上網路下載。如果你的程式有修改,CD也要準備好,present後就要交了。
- Present:
- 我們Present的位置在非一般的Lab - A310。
- 時限:20分鐘,頁數限制:20頁
- 內容跟上次的差不多,整個Powerpoint的內容: (暫定,有多餘或缺少的部份請告知)
- Project Objective -- Fai
- Background -- Fai
- Function -- All
- Class diagram -- charlie
- Data Design -- charlie
- System design -- charlie
- Testing strategy and result --David
- Project Schedule --David
- Result and conclusion --David
- 時間分配(暫定):
- 自己負責的部份,每一部份1.5分鐘。例如根據上表,不計All的部份,charlie的present時間有4.5分鐘,而David和Fai只有3分鐘,總時間10.5分鐘。
- Function: 2 分鐘
- Testing strategy and result: 2-4分鐘,視餘下時間而定。
- 總時間: 14.5 - 16.5分鐘,餘下的就是被問候的時間來了。
- Demo:
- 自己做自己做過的Function,和在Mid-semester demo時相似,只是換了麗音(雙語廣播)而已。
- Demo前請先自已試行一次,確保過程中不會看到害蟲,也要確保你的行為不會被人發現你有迴避的企圖。
- 準備一個共用的Project File用作整合測試。
- 準備Test data列表,列出可以正常運作的Test data,可預先準備的檔案應先準備好。
2008年5月23日星期五
Final Report 工作列表
Report地址:
http://choi-home.no-ip.info:10365/
Username: Project3
Password: pw32008
Report出爐時間:
- 上午3時
- 上午6時
- 上午9時
- 上午10時30分
- 最終版,中午12時
- 如果延遲,下午1時30分是最後了。
你們可以隨時給我Report,我會把合併了內容在上述時間放出來。
下面是Report的內容
- Testing
- User Guide
- 一步步教人如何使用
- 如果有難用的地方,要解釋這個東西(例如選單、輸入欄位)
- Installation Guide
- 在不同OS下的安裝方法。(如果你沒有那OS,用文字說明即可)
- Result and conclusion: Critical evaluation of the work
- Result: 這個Product好用嗎?簡述好用和不好用的地方。可以參考Future Extension(Project Work檢討會議記錄)
- Conclusion: 拿你的製成品,從Requiremnt到Final Product,有甚麼做得好和不好的地方(例如Requirement是否正確定義、之後的設計到最終製成品是否合乎當初定立的要求),不需要提出有甚麼困難。除了Final product的Function外,說明改善方法。
- Problem/Difficulties encountered: 可以參考Problem / Difficulties(Project Work檢討會議記錄)
- 從分析階段到製作階段遇到的問題。
- 多提及技術性的問題,例如:多Bugs, UI design的限制等等。
- 可以提及少量時間安排的因素,但是不要把其成為主要的原因。
- Limitaion of current system:
- Future Extension and Future Development: Final product的Function可以如何改進。可以參考Future Extension(Project Work檢討會議記錄)
- Inline code comment
- Introduction: 因Report內容有不同,必須修改。這是給老師留下第一印象的地方,一定要做到最好。
- 把Function每一部份的重點表達出來。
- 頁數不應多於2頁
- Requirement spec修正
- Function應提供更詳細的資料,例如User可以在這個Function幹什麼,不知道可以參考你的製成品。
- Design Spec
- Data Dictionary
- Use case修正
- Sequence Diagram修正
- Acknowledgement: 討好奉承的地方,(對Project貢獻的人太多,我們沒法盡錄),可說要多謝那些人,給我們甚麼教導等 。可有可無,但要取同情分的話這不可少。
這份Report的分數將會平均地分佈,即是做得愈多,全組人就愈高分。所以不要計較付出,可以做的盡做吧!
Problem / Difficulties(Project Work檢討會議記錄)
- 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月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月20日星期二
義和團式的專案計劃
http://www.wretch.cc/blog/phopicking/2851110
老實說,很多人在進行軟體專案規劃的時候,都會有義和團上身的現象。無論外在環境多麼險惡,只要我擁有教主保佑,就有神功護體,可以刀槍不入,攻無不克,戰無不勝。所以兄弟們,不管實際上到底案子看起來有多困難,大家放心,一定沒問題。
吉娜:這個案子要做多久?
義和團團長:三個月。
布魯斯吃驚的說:三個月?這樣有任何的buffer嗎?你有抓任何risk factor嗎?我怎麼覺得少說也要六個月!
義和團團長模仿了一下李小龍:啊剎!啊剎!相信我,只要三個月。我一定把他做完。Risk factor?六個月?(模仿李小龍伸出食指左右搖晃後,往地上吐了一口口水。)這是沒有練過武功,對自己能力沒有自信的東亞病夫,才估的出來這種可恥的schedule。
......本田:我覺得你們一定可以在3個月之內做完的。
布魯斯:怎麼可能!我們從沒做過銀行的案子。
本田:我知道你們一定可以的,你們技術能力這麼強,一定沒問題的。
布魯斯:話不是這樣講,3個月,又是不一樣的domain。還不要提,光使用者訪談最少就要一個月了。
本田:我知道你們一定可以的,你們技術能力這麼強,一定沒問題的。
布魯斯:話不是這樣講,這個案子的測試環境特別複雜。光是架這個測試的環境,就要花掉很多時間了。
本田:我知道你們一定可以的,你們技術能力這麼強,一定沒問題的。
布魯斯:我們再強也是有極限呀。這樣做的risk太高了啦。
本田:我知道你們一定可以的,你們技術能力這麼強,一定沒問題的。......
也有人認為,如果立了一個完全不合理的deadline,反倒可以激起大家的士氣,願意努力加班達成不可能的任務。
......
所以當下一次有人請你對一個專案進行預估時,在你高喊:『神功護體,刀槍不入』前,請先想一想,你的金剛不壞護體神功,真的練到了第九層嗎?自己進行自我催眠,告訴自己一切都沒問題,這樣真的比較好嗎?
這是一篇我在上年暑假看到的文章,雖然我很早已經知道不要編排一個不可能的任務,但是在開發過程中才發現其速度沒有想像中般快,而在老師又以為我們有神功護體,總是以為會做得完,怎知道臨近期限才發覺不可能。我又再一次當義和團定下不可能的時間表了!
2008年5月19日星期一
當軟體專案計劃趕不上變化時
http://www.lifeparty.idv.tw/blog/archives/279(部份轉載)
雖然「計劃趕不上變化,變化比不上老闆一句話」,但趕不上或比不上並不代表要放棄計劃,否則專案的成功也只是聽天由命的偶然罷了。同人認為,軟體專案要成功,關鍵不在於如何照計劃進行,而是要「計劃」當計劃趕不上變化時該怎麼辦。換句話說,當軟體專案管理者把計劃當成死的名詞時,他將不會成為稱職的專案管理者;稱職的專案管理者會把計劃當動詞,用以採取適當行動,才會讓專案走向成功。
實際上,根據同人在軟體專案開發的實務經驗,期待專案問題藉由收尾巴的過程而得到解決的想法,往往是要付出很慘痛的代價的,但許多人總是無法從這些慘痛教訓中得到啟示。在專案後期所發現的問題、或產生變動,其所花費的成本與消耗的開發人員的青春,與產出軟體的功能與品質相比往往是划不來的。於是,歷史不斷地重演,軟體開發的痛苦經驗也一再地被經歷。
問題並不在於軟體功能無法說加就加、說改就改,而是在收尾巴的過程中自廢武功。不根據需求的變動或軟體的現存問題規劃出合適的架構與概念設計,現存設計怎麼會有足夠的空間來容納新功能?就好像想在堆滿東西的房間中,還要硬塞一些東西進去,這樣的結果當然很容易會讓我們在這房間中跌倒。
......
理論上,專案管理中的專案收尾過程(project closeout)本來就不是用來讓開發者增加功能、修改缺陷的,而是吸取專案的經驗及教訓(Lessons Learned),以利後續專案當作規劃參考。因此,期待在專案收尾巴才來修改軟體的想法,事實上,正代表著專案在規劃、執行及控制的過程中有所遺漏。然而,一廂情願地認為收尾巴可以彌補這些在專案過程中的遺漏,這種想法實在是太過樂觀了呀。
所以,現在其實是反省的時候,開發的時間已經過去了,硬著頭皮去修改將會付出很慘痛的代價的。你想修改的等Further Development時再改吧!
Java , COBOL 以及版本控制
Java , COBOL 以及版本控制
2.Third party程式庫的版本及相容性問題
這個問題一樣,也不是一個可以一體適用的問題。可以不換,我們當然就可以撐住不換。可是有時候,是某個版本有重大的defect爆出來不得不換,有時候,是客戶一定要你換。這個世界上雖然也有升級狂的存在,可是也還是有不想升級卻是不得不升級的倒楣鬼。qing比較好命的地方在於他對於要使用的環境與 library有很高的控制權。不過這種事並非放諸四海都皆準的。
其實不要講別的,像我家的diggirl,有附一個軟體給大家下載,最近一堆買了新電腦的朋友,就跟我抱怨說,我的vista不能裝girl digger。
我當然可以說,靠盃呀,我連vista都沒有,誰叫你裝這麼吃resource的OS?可是這些朋友又會告訴我,現在notebook出廠就是vista,你沒別的可以選。
生意能夠不做嗎?我可以不support vista嗎?
這實在是個很傷感情的問題呀。^^
也有的朋友說,我們做的某些網站的網頁,IE7看了會爛掉。
我也很想高聲大罵,靠盃呀,我已經測了IE6跟firefox,哪有性命再去測其他版本的browser?可是我們還是要保持專業的形象,流露出淺淺的微笑,答應客戶我們會想辦法。
老實說,我還不知道該怎麼辦,就只好先鋸箭一下。
軟體測試真是不容易啊!
Java會步上 COBOL 的後塵嗎?
http://mmdays.com/2008/01/02/java_future/
最近這個禮拜,許多網站都在寫所謂的「年終回顧」,而向來報導資訊科技產業為主的InfoWorld卻列出了「2007最被低估〈未被大力報導〉的科技新聞」,而排名第一的就是這篇文章:「JAVA正步上COBOL的後塵!」
光看這標題實在太嚇人。從大學時候開始算起,Java我碰了少說也有快七年以上,雖然比起眾高手不敢說多麼精通,但是說Java說要像COBOL一樣被市場淘汰,會不會太早了點?如果真的有朝一日醒來,Java全面性的被新語言替換,那所有寫Java長大的程式設計師豈不是立刻失業?
好,先別急,先把原文內容看完再說。InfoWorld在這篇文章所持的幾個重要論點如下:
- 在網頁設計師界,擁抱Ruby on Rails、PHP、AJAX的人越來越多,而M$ .Net也正逐步把Java趕出企業應用市場。
- Java最被人傳頌的好處是可以跨平台,然而根據Twiki.net CEO的說法,Java的版本越來越多,還時常要去下載各種不同的Library檔案,因此他們開發網站後來都改用ROR,解決版本複雜性的問題。
- Java吃記憶體太兇、在UI上表現不佳,不利於手機版本J2ME的發展。
- 根據InfoWorld一份訪問超過1,850家企業的問卷結果顯示,各企業比較偏好用.Net,勝過用Java。
好,我知道這樣的文章一定爭議滿天飛。我對當中的許多論點也不甚認同,但話說回來,它也的確點出一些問題。首先談談我不認同的點:
- 少來了,AJAX什麼時候變成獨立的程式語言,還可以取代Java來著?
- Ruby on Rails細節我不熟,但只因為這個語言近兩年開始起飛,開發網站
套用模版用現成Framework開發速度很快,就可以取代Java了嗎?ROR之所以速度會快,是因為Rails已經寫好很多的模版可以套用是因為它的Framework可以讓你節省很多從頭開始的功夫,而寫Java的大部分人卻還習慣著從頭到尾一頁一頁慢慢刻。如果現在Wicket這些 Java Web Framework發展得好,也綁進Eclipse裡面,那未來JSP是不是也可以喊出取代ROR的口號了呢?
不過,我也必須承認,寫Java到現在,有很多地方是我認為值得討論的。
- 版本控制:Java一直在推出新的版本,而且最近出的速度超快,一轉眼已經要出Java SE 7了,Java EE 6也預定2008年問世,速度快到其他家廠商都追不太上〈企業級伺服器WebLogic都到了2007年中出新版才能支援Java EE 5,而WebSphere、JBoss、Oracle等大廠都還在苦苦追趕中。〉
- 除了SDK外,Java還有許多由Open Source界開發的Library。雖然這些軟體免費又好用,但是伴隨而來的版本與相容性問題也相對複雜。程式老跳訊息告訴你這個jar檔版本太舊不是他要的,怎麼辦?
- 記憶體吃得兇:這顯然是跨平台的代價。我個人只遇過幾個純粹用Java寫的GUI程式,分別是JBuilder、Eclipse,以及NetBeans。而這幾個都是吃記憶體的超級怪物。就算我現在電腦有2G的ram,我也不敢同時開前面任兩個程式起來。
- 程式架構越來越複雜:曾經我以為只要會寫繼承、MVC,看過Design Pattern就算是會寫Java了,但是我大錯特錯,Java還有很多Framework,而且到最後某些Framework已經複雜到有點變本加厲了。這當中首推EJB。EJB現在已經被認為是失敗的概念,因為它實在是超級複雜…我曾經在課堂上寫過Agent,要讓同一隻程式能「跨越不同的JVM執行」,天啊,從頭寫一隻出來大概要走我半條命。果不其然,現在POJO〈Plain Old Java Object〉的口號越來越響亮,呼籲大家把Java程式設計得越簡單越好,尤其是不要照EJB 2.x的模樣來寫。
但話說回來,縱使Java的確有許多缺點,這仍然離標題所預測:「JAVA正步上COBOL的後塵!」差之甚遠。與其他新進語言相比,Java因為平台眾多,又有大批open source人士寫了很多的Library,以致讓新手光看到版本就眼花撩亂,但這些並不是會影響Java是否能持續存活下去的關鍵因素;關鍵應該要從整個軟體產業的角度下手。在原文後面的回應中,有一位署名systemanalyst的人寫得相當精闢:〈以下節錄〉
拉回企業的角度來看,許多公司內的mainframe程式是用IMS、CICS搭配上JMS(Java Message Service的縮寫) Connector來寫的,PHP跟ROR在這一點是要怎麼取代Java?
當你的網站流量很大時,用Windws TCP/IP會癱瘓,你確定敢用Windows當作重要的前端系統平台嗎?
我不是說Java沒有問題,但相較於其他平台,如果我自己開公司,我一定會選擇Java平台。為何?因為我可能會選擇 POS平台用AIX〈IBM的Unix作業系統〉,線上購物平台用Linux,開發環境用Windows,而後端的資料倉儲系統架在z/OS上。為了省下管理不同異質平台的錢,我會用Java,因為它是唯一能在所有平台上通用的程式語言。
當我們在談論一個程式語言時,我們必須要從整個軟體工程的角度來看。Java不只是一個語言。當你看著Java時,你必須包含整個平台來看。看看這些為Java創造出來的架構與伺服器,它們的scalability是無限的!比起來.NET可就完全沒辦法比。如果你只是要講語言的syntax,是的C#跟Java沒什麼差別。但是如果你要評判Java能帶給你的價值,你必須從頭到尾、從上到下,完整的評估,而不只是”getThis()” 或 “setThat()”這些語法。
說到企業用途,或許Java還有另外一項好處,那就是Java Solution的平台提供者眾多,包括IBM、BEA、Sun、Oracle都有出Java專屬的應用伺服器,但.NET的平台似乎只有 Microsoft一家比較知名。不管M$的名聲如何,選擇Java平台的公司至少在短期內比較不用擔心被同一家廠商壟斷的問題。即使Sun這一兩年來的股票跌到連水餃股都不如,各家企業至少還有IBM、BEA這幾家可以選擇,而選擇.NET的公司,可能就只好期望M$能夠活得長長久久,永保安康了。
講到這裡,各位看倌,你們的看法又是如何呢?
熱門程度: 53%
看了這篇文章後,有沒有後悔當初要選JAVA呢?
延伸閱讀:
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
- 少量釋出
- 測試先行
- 我們的系統設計是否滿足使用者的要求?
- 當初的要求和現在的要求有多少出入?為什麼?
- 怎樣才可減少需求變更的出現?
Project Work Final Product檢視會議
希望通過回顧會達到目標: 找出這次專案產品的不足,以便將來改善。
交付物: Final Report的Results and conclusions:
- 各組員演示自己所做的Function,為了能模擬一個Project manager使用本產品的情況,演示次序如下:
- Project Planning (從無到有)
- Create Project
- Matintain Staff
- Maintain Task
- Save Project
- Close Project
- Open Project
- Generate PERT Chart
- Generate Gantt hart
- Project Monitoring(從專案開始到結束)
- Find out workload
- Maintain Reminder
- Monitor Project
- Reporting
- Generate Project Progress Report
- Generate Cost Report
- Generate Staff Analyze Report
- Generate Project Analyze Report
- Project Planning (從無到有)
- 每演示完一個Function,各組員可以對這個Function給予意見,例如:
- User Friendly
- Easy to use
- Efficent to use
- Error Handling
- 符合當初定下的要求
- 發展空間
- 開發過程遇到的困難,例如開發工具的限制
、自身的技能不足(千萬不可以告訴人們因為你無能所以做不到,會給人鄙視的)。 - 如果可以給你從頭再來,你會怎樣做得更好?
- User Friendly
- 期間必須有人記下所有意見以作寫Report之用,有需要的話更可以錄音。
- 可以接受其他意見,例如轉用另一程式語言,改變軟體架構。但不要過份離題。
- 自己的事自己最清楚,所以會議完畢後組員依自己負責的Function寫Report。
提示:
每演示完一個Function,各組員可以對這個Function給予意見,例如:
- 使用方便嗎?可不可以快速做到你想要的function?
- 有沒有令你煩躁的地方?
- 如果你是Project Manager,你會希望這個Function會長得怎樣?
- 為什麼做不到?是程式語言做不到?想不到算法?找不到Library?
- 這個Function可以給你任意改造的話,你會怎樣改?(在不改變其程式語言的情況下)
2008年5月9日星期五
Final report Planning
- Implementation: 13-5-2008
- User guide and installation guide: 15-5-2008
- The requirements: 17-5-2008
- Results and conclusions:19-5-2008
- Documentation for detailed design:20-5-2008
- Documentation for problem analysis: 23-5-2008
Final Report是重質多於重量的
Implementation: Discuss on 10-5-2008
- 記錄自己做過甚麼,可以參考我的工作記錄
- Testing
- Black Box testing - Requirements Verification
- Black Box testing - Requirements Verification
- Changes to design(Provide reason) - Requirements Verification
- Summary
- 全方位檢討(驗證)
- 由original problem formulation(簡潔陳述) was correct
- difficulties encountered
- delays/changes in project schedule
- 到how well the solution meets the specification
- limitations of the proposed system
- subsection suggesting further developments to be undertaken
- 由original problem formulation(簡潔陳述) was correct
- User Guide
- 寫自己的function
- Installation guide
- 把Software folder複製到儲存位置(USB記憶體也可以!!)。
- 按JAR file。
- 完成。
- 考慮多個可行方案,然後選擇最好的。
- 要把設計全部列出,不可以因為Project沒有做到而刪去。
- software/hardware architectural design (system design)
- Software architectural design
- 可行方案
- Client-Server
- Database-centric architecture
- Structured Systems Analysis and Design Method (SSADM)
- 正常情況下我們的程式只會在一部電腦上使用。
- 員工可以上網看時間表的話程式會在多部電腦上使用(Client: Staff, Server: Software)
- 可行方案
- hardware architectural design
- 可行方案
- PC
- Pocket PC
- 在普通PC上運作,沒有特別的設計
- 可行方案
- Software architectural design
- data design
- Project資料會以Object Oriented File儲存: 檔案裡全是Objects。
- Project資料會以Object Oriented File儲存: 檔案裡全是Objects。
- user interface design.
- analysed the problem
- 找出真正要解決的問題
- for evidence that you have investigated(調查) commercially available solutions
- 參考過市面上的軟體
- 決定最終的解決方案
- Scope of the proposed system
- description of functions provided
- data processed by the system
- User可以輸入甚麼,例如Task的資料
- other non-functional requirements
- 免安裝的特性應在此說明。
- approach to problem solving
- choice of methods
- tools and techniques
- the quality of design
- data model
- class diagram
- functional model
- use cases
- dynamic model
- state transition diagram
- sequence diagram
- data dictionary
- data model
- http://en.wikipedia.org/wiki/Software_architecture
- http://en.wikipedia.org/wiki/Hardware_architecture
