SlideShare a Scribd company logo
軟體工程 - 期末報告
微型團隊的 WEB 程式開發流程
N004020014 張明泰
2013.06.15
大綱
●
團隊是一個 5 人內的微型的協同合作團隊。
●
以 SCM 配合專案開發的流程,來管理開發專案。
●
預計提出一個實務的開發的工作流程,配合 SVN 軟體來
執行 SCM 的辨識、變更管理、狀態報告及稽核等工作
該。
●
軟體預計使用 Subversion Server 及 SVN Client ,配合
REDMINE(bug tracker) 來追蹤專案的執行。
●
實際使用上可能會遇到的問題及提出解決的方式。
主題
●
開發團隊的工作情境角色及開發方式說明
●
開發方式遇到的問題
●
解決的對策
●
Redmine 專案管理網站
●
SVN Server 及 Client 使用方式
●
預期困難
●
心得
(1) 開發情境
●
微型的專案團隊,一個全職其他為兼職。
●
開發的環境及程式為 PHP +HTML + JS 的 WEB 程式。
●
資料中心架構,以後端的 MySQL or PostgreSQL 為資料
核心。部份為 Oracle 。
●
需求由專案經理溝通協調確認,透過 issue tracker 做功能
交派。
●
Server 平台為 Linux ,使用 FTP 上傳更新,網頁直接驗
證測試。
(1) 開發情境 - 示意圖
(2) 開發遇到的問題
●
開發者之間互相蓋掉對方的程式碼,且不知道版本的差異
及改正修正哪些問題。
●
需求不斷更動,沒有紀錄不知道改些什麼。
●
如果有新的成員加入專案,必須要重新說明開發的每各細
節。
●
對於專案管理者,無法掌控目前的開發進度。
●
測試和正式機器同一環境,安全性及穩定性有問題。
(3) 解決的對策
●
使用版本控管軟體 (svn or git) 解決程式碼覆蓋的問題。
●
使用 wiki 協同作業軟體解決文件不斷更動的,讓文件的變
動可以追蹤。且可以作為對新成員的教育訓練文件。
●
使用 issue(bug) tracker 來追蹤問題,使用專案管理的時
程來掌握進度。
●
調整開發、測試及釋出版本的流程,並規範確實遵循。
(3) 解決的對策 - 開發關係示意圖
(3) 解決的對策 - 角色
●
專案經理:即是首席程式設計師擁有所有平台環境的存取
管理權限。 ( 首席程式設計師團隊 P367)
●
開發人員:兼任測試人員,可以 commit 各版本到
Testing 平台,並且自行測試功能正常沒有問題後,就可
以自行 Release 正式發布的平台。
●
報告人員:只擁有 Redmine 專案平台的問題回報權限,
工作的分派由專案經理分派或開發人員認領。
(3) 解決的對策 - 需求已確認的開發流程
●
專案經理確認需求及功能,以 REDMINE 的建立問題 -> 功能說明需求。
●
開發者再本地端建立一個開發者使用的測試環境,所有的測試都在這裡地方。
●
本地端程式碼的編寫測試更新都透過 svn client 上傳更新到 svn 儲存庫中。
●
當測試到一個段落,將程式碼放到 Testing 的 LAMP 平台上,測試人員進行測試。
●
如果有問題,測試人員再 REDMINE 上面填寫問題回報,系統會以 Email 通知開發
人員。
●
開發人員接件,解決問題。專案經理再過程中全程協調監控所有的活動狀態。
●
當測試沒有明顯的問題後,就進行 Release 程式更新到正式的 LAMP 平台上面。
●
完成一個 Release 後,再 REDMINE 上編寫這個里程碑的文件。
( 文件的編寫程式過程中,就和程式碼寫在一起,整理文件再整個 review 一次 )
解決的對策 - Redmine 專案管理平台
http://redmine.jangmt.com/http://redmine.jangmt.com/
(3) 解決的對策 - Redmine 專案管理平台
●
Redmine 功能清單 (ref:
RedMine Features)
●
Per project wiki - 每個專案獨立
Wiki 系統
●
Per project forums - 每個專案獨
立 討論區
● SCM integration (SVN, CVS, Git,
Mercurial, Bazaar and Darcs) –
支援多種版本控制系統
●
Multiple projects support - 可以開
多專案管理
● Flexible role based access control
- 多種角色的存取控制
● Flexible issue tracking system -
議題追蹤管理
●
Gantt chart and calendar - 甘特圖
自動生成、行事曆
● News, documents & files
management - 文件、檔案管理
● Feeds & email notifications -
RSS 、 Email 通知
(3) 解決的對策 -RedMine 活動
● Activity
●
可以知道最近專案的活動
狀態。
●
包含問題處理、文件編
寫、程式碼更新等 ....
(3) 解決的對策 - RedMine 問題清單及新問題
●
可以針對 BUG 或議題或變更
管理並且給予追蹤及確認的後
續流程。
●
此功能定位為紀錄每個變更事
件發生時候詳細紀錄。
●
可以用 mail 追蹤這個問題的
處理狀況。
●
可以分派這個工作給開發人
員,可以安排預計規劃的工作
時程。並且與甘特圖結合。
(3) 解決的對策 - Redmine 甘特圖 or 日曆
●
甘特圖和日曆可以協助安
排專案的時程,視覺化顯
示專案的進度。 .
(3) 解決的對策 - RedMine 的 wiki
●
WIKI 可以用來記載需求文
件及需求變更的管理。且
以系統化的方式紀錄。
●
因為可以查詢版本變化的
過程,所以適合需求變更
的軟體專案開發活動使
用。
●
和問題追蹤不同處在於可
以系統化的紀錄專案。
(3) 解決的對策 - Redmine 儲存庫
●
可以結合 SVN or GIT 等
外部的版本控管系統,同
時知道程式碼的變更狀
況。方便稽核程式碼。
●
可以再 web 上 diff 比較
檔案。
(3) 解決的對策 -SVN 版本控制系統
●
使用 SVN 版本控制系統的原因:
●
可在協同開發創作的環境中可以保有所有的變動紀錄、回
復到指定的版本、成員的程式更動與其更動狀況紀錄。
●
SVN 是集中式的版本控制系統,需要網路才可以更新。
●
其他的版本控制系統: GIT( 分散式版本控制系統 )
(3) 解決的對策 -SVN 軟體及使用原則
●
Windows 上常見的工具有 TortoiseSVN
●
Linux 上推薦 RapidSVN (GUI) 及命令列 SVN
●
Repository :儲存放置文件的儲存庫或資料庫
●
SVN 可以透過 http 、 https 、 ssh+svn 、 svn 等方式存
取。 Ex: svn://svn.jangmt.com/home/repos/test/
●
SVN 目錄習慣上分成為 Trunk/Tags/Branches 。
(3) 解決的對策 -SVN 原則
●
Trunk: 版本主幹,主要開發都在這裡
●
Tags: 可以依據里程碑或 Release 的版本
分支成為 Tags
●
Branches: 通常用於功能點的分割或 bug 的
修正。完成後使用 Merge 合併回 trunk 。
(3) 解決的對策 -SVN 功能 (1)
●
Svn Checkout 將 SVN 儲存庫中的資料取出
●
Svn Update 更新 svn 上面的版本到最新
●
Svn Commit -m ' 說明 ' 提交修正的內容
●
Svn add 將檔案或目錄加入 svn 儲存庫,需要 commit 後才會生效。
●
Svn mv 改檔名
●
Svn status 顯示上次 update 後的檔案狀態 , 有 conflict 也會顯示。
●
常見的 SVN 檔案狀態 :
A - 新增檔案
C - 檔案和儲存庫不同,合併失敗需要人工介入處理
M - 有修改過得檔案
? - 新的檔案不在儲存庫中
(3) 解決的對策 -SVN 功能 (2)
●
Svn revert 目錄 / 檔案 還原為前一個版本
●
Svn info 顯示目前 SVN 的相關資訊
●
Svn resolved 處理 conflict 的狀況 , 否則 commit 都會出問題
●
Svn diff 比較目前的檔案和 SVN 儲存庫的不同處
●
Svn copy 可以用來建立 Branch 分支或 tags 保存版本狀態。
●
Svn import 將本地端來源匯入 svn 儲存庫
●
Svn log 顯示 commit 的 log 狀態
●
Svn lock 鎖定檔案
●
Svn unlock 解除鎖定
(3) 解決的對策 -SVN 原則
●
同時間只有一個人的開發方式:
●
直接對 儲存庫的 trunk 主幹作 commit ,先上 Testing
平台測試,沒問題後再 svn update 到 Release 的平台。
●
Redmine 的文件及 issue 解決仍是需要回報。
(3) 解決的對策 -SVN 原則
●
修正 bug 的方式:
●
1. 先作 svn update 將程式碼更新到最新版本
●
2. 檔案較少可以 lock 該檔案,修正後重新 commit 到
Testing 機器。沒問題後再 Release 小版本修正。
●
寫功能的方式:
●
1. 先作 svn update 將程式碼更新到最新版本
●
2. 寫功能一定要 copy a branches ,測試完成後再
merge 合併回 trunk 。
(3) 解決的對策 - 資料庫的對策
●
因為使用資料中心的架構的開發方式,資料庫資料是核心
的一環。
●
讓開發者可以存取維護三個不同開發流程中的資料庫,但
在資料上以每日或每 6 小時備份的方式避免發生不可逆轉
的意外。
(3) 解決的對策 - 開發方式原則
●
參考極限編程的流程。遵循期核心價值:溝通、簡單、回
饋、勇氣,掌握基本原則。
●
再遵循原則流程中,放手讓開發人員去開發,確保資料可
以回朔保存,最多損失一天的開發量。
●
一次不用寫太多,分成小功能逐步編寫。
●
寫程式就同時寫註解,但是要避免亂寫。
●
Code 要有一定的水準才提交,提交要有責任感。
(3) 解決的對策 - 開發方式原則
●
一定要遵循測試開發的流程,謹慎的開發流程 Policy 可以
減少爆肝修 bug 的次數。 ( 不要在下班前 2 小時
Release code)
●
每次開發以 3HR 左右為一個短循環,立即驗證且得到回
饋。要求每次短循環的開發都要寫下文件。 ( in Issue
tracker or wiki )
●
以人性的角度思考程式碼及功能,不要做出違反人性的工
作及程式。
(4) 預期困難點
●
開發人員會因為時程壓力或怕麻煩而沒有遵循這樣的開發
流程規則。
●
此種開發模式類似極限編程方式,需要有獨當一面的開發
人員。
●
開發人員的 code style 不好規範,寫出來的程式很難重
複使用。
●
不能使用程式框架這會讓新進人員的學習曲線過高。
●
整合的開發環境,開發人員無法熟悉每個環節。
(5) 心得
●
對於團隊的軟體的開發流程,實務上沒有經歷過合作或遇
到問題沒辦法準確的抓出問題的所在。
●
迎合實際的工作環境,設計出自己執行上合理的維護流
程,我想是這門課給我最大的收穫。
報告完畢

More Related Content

What's hot

SRE CH33/CH34 - Lessons Learned from Other Industries/Conclusion
SRE CH33/CH34 - Lessons Learned from Other Industries/ConclusionSRE CH33/CH34 - Lessons Learned from Other Industries/Conclusion
SRE CH33/CH34 - Lessons Learned from Other Industries/Conclusion
Rick Hwang
 
Scrum敏捷项目管理
Scrum敏捷项目管理Scrum敏捷项目管理
Scrum敏捷项目管理
裕波 周
 
五分鐘保證成功導入Scrum - 鐘點大師 HourMasters.com
五分鐘保證成功導入Scrum - 鐘點大師 HourMasters.com五分鐘保證成功導入Scrum - 鐘點大師 HourMasters.com
五分鐘保證成功導入Scrum - 鐘點大師 HourMasters.com
National Taipei University of Technology
 
從緊急事件 談 SRE 應變能力的培養 - DevOpsDays Taipei 2018
從緊急事件  談 SRE 應變能力的培養 - DevOpsDays Taipei 2018從緊急事件  談 SRE 應變能力的培養 - DevOpsDays Taipei 2018
從緊急事件 談 SRE 應變能力的培養 - DevOpsDays Taipei 2018
Rick Hwang
 
人月神話Ch.13 整體部分 Ch.14 禍起蕭牆
人月神話Ch.13 整體部分 Ch.14 禍起蕭牆人月神話Ch.13 整體部分 Ch.14 禍起蕭牆
人月神話Ch.13 整體部分 Ch.14 禍起蕭牆
HopenglishRD
 
老成的專案管理以及經驗分享
老成的專案管理以及經驗分享老成的專案管理以及經驗分享
老成的專案管理以及經驗分享
智遠 成
 
從敏捷開始的測試 從測試開始的自動化
從敏捷開始的測試 從測試開始的自動化從敏捷開始的測試 從測試開始的自動化
從敏捷開始的測試 從測試開始的自動化
少齊 張
 
版本控制系统进阶
版本控制系统进阶版本控制系统进阶
版本控制系统进阶killmyday
 
Scmlife分享2012 2-25-2.24
Scmlife分享2012 2-25-2.24Scmlife分享2012 2-25-2.24
Scmlife分享2012 2-25-2.24
Cody Zhang
 
Scrum深入淺出
Scrum深入淺出Scrum深入淺出
Scrum深入淺出
Taien Wang
 
QM-034-軟體品質管理
QM-034-軟體品質管理QM-034-軟體品質管理
QM-034-軟體品質管理handbook
 
360 如何成为一名优秀的产品经理?
360 如何成为一名优秀的产品经理?360 如何成为一名优秀的产品经理?
360 如何成为一名优秀的产品经理?VImLai
 
1_overall
1_overall1_overall
歡迎加入軟體構築行列
歡迎加入軟體構築行列歡迎加入軟體構築行列
歡迎加入軟體構築行列
Chris Wang
 
專案管理(2009) Chap03
專案管理(2009) Chap03專案管理(2009) Chap03
專案管理(2009) Chap03祐承 鄭
 
百度持续交付之旅 -百度技术沙龙16
百度持续交付之旅 -百度技术沙龙16百度持续交付之旅 -百度技术沙龙16
百度持续交付之旅 -百度技术沙龙16
drewz lin
 
Scrum--敏捷开发过程框架介绍
Scrum--敏捷开发过程框架介绍Scrum--敏捷开发过程框架介绍
Scrum--敏捷开发过程框架介绍coolCow
 

What's hot (19)

SRE CH33/CH34 - Lessons Learned from Other Industries/Conclusion
SRE CH33/CH34 - Lessons Learned from Other Industries/ConclusionSRE CH33/CH34 - Lessons Learned from Other Industries/Conclusion
SRE CH33/CH34 - Lessons Learned from Other Industries/Conclusion
 
Scrum
ScrumScrum
Scrum
 
Scrum敏捷项目管理
Scrum敏捷项目管理Scrum敏捷项目管理
Scrum敏捷项目管理
 
五分鐘保證成功導入Scrum - 鐘點大師 HourMasters.com
五分鐘保證成功導入Scrum - 鐘點大師 HourMasters.com五分鐘保證成功導入Scrum - 鐘點大師 HourMasters.com
五分鐘保證成功導入Scrum - 鐘點大師 HourMasters.com
 
從緊急事件 談 SRE 應變能力的培養 - DevOpsDays Taipei 2018
從緊急事件  談 SRE 應變能力的培養 - DevOpsDays Taipei 2018從緊急事件  談 SRE 應變能力的培養 - DevOpsDays Taipei 2018
從緊急事件 談 SRE 應變能力的培養 - DevOpsDays Taipei 2018
 
人月神話Ch.13 整體部分 Ch.14 禍起蕭牆
人月神話Ch.13 整體部分 Ch.14 禍起蕭牆人月神話Ch.13 整體部分 Ch.14 禍起蕭牆
人月神話Ch.13 整體部分 Ch.14 禍起蕭牆
 
老成的專案管理以及經驗分享
老成的專案管理以及經驗分享老成的專案管理以及經驗分享
老成的專案管理以及經驗分享
 
從敏捷開始的測試 從測試開始的自動化
從敏捷開始的測試 從測試開始的自動化從敏捷開始的測試 從測試開始的自動化
從敏捷開始的測試 從測試開始的自動化
 
版本控制系统进阶
版本控制系统进阶版本控制系统进阶
版本控制系统进阶
 
Scmlife分享2012 2-25-2.24
Scmlife分享2012 2-25-2.24Scmlife分享2012 2-25-2.24
Scmlife分享2012 2-25-2.24
 
Scrum深入淺出
Scrum深入淺出Scrum深入淺出
Scrum深入淺出
 
QM-034-軟體品質管理
QM-034-軟體品質管理QM-034-軟體品質管理
QM-034-軟體品質管理
 
360 如何成为一名优秀的产品经理?
360 如何成为一名优秀的产品经理?360 如何成为一名优秀的产品经理?
360 如何成为一名优秀的产品经理?
 
極限編程XP
極限編程XP極限編程XP
極限編程XP
 
1_overall
1_overall1_overall
1_overall
 
歡迎加入軟體構築行列
歡迎加入軟體構築行列歡迎加入軟體構築行列
歡迎加入軟體構築行列
 
專案管理(2009) Chap03
專案管理(2009) Chap03專案管理(2009) Chap03
專案管理(2009) Chap03
 
百度持续交付之旅 -百度技术沙龙16
百度持续交付之旅 -百度技术沙龙16百度持续交付之旅 -百度技术沙龙16
百度持续交付之旅 -百度技术沙龙16
 
Scrum--敏捷开发过程框架介绍
Scrum--敏捷开发过程框架介绍Scrum--敏捷开发过程框架介绍
Scrum--敏捷开发过程框架介绍
 

Similar to 微型團隊的 web 程式開發流程

Bst svn专项培训
Bst svn专项培训Bst svn专项培训
Bst svn专项培训Wu Liang
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationnetdbncku
 
P6 開始前準備
P6 開始前準備P6 開始前準備
P6 開始前準備epst
 
Ops as Code using Serverless
Ops as Code using Serverless Ops as Code using Serverless
Ops as Code using Serverless
Rick Hwang
 
Version control0221
Version control0221Version control0221
Version control0221
jianhongciou
 
Subversion
SubversionSubversion
Subversioni7Xh
 
淺談系統監控與 AWS CloudWatch 的應用
淺談系統監控與 AWS CloudWatch 的應用淺談系統監控與 AWS CloudWatch 的應用
淺談系統監控與 AWS CloudWatch 的應用
Rick Hwang
 
SRE CH27 - Reliable Product Launches at Scale
SRE CH27 - Reliable Product Launches at Scale SRE CH27 - Reliable Product Launches at Scale
SRE CH27 - Reliable Product Launches at Scale
Rick Hwang
 
Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群
 
service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012Qiao Liang
 
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012
Qiao Liang
 
快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架
Will Huang
 
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
LetAgileFly
 
Maven初级培训
Maven初级培训Maven初级培训
Maven初级培训
Cody Zhang
 
使用 Release management 2013 進行自動化部署
使用 Release management 2013 進行自動化部署使用 Release management 2013 進行自動化部署
使用 Release management 2013 進行自動化部署
Gelis Wu
 
那個 Code 不是我弄壞的! 持續整合與版本控制策略
那個 Code 不是我弄壞的!持續整合與版本控制策略那個 Code 不是我弄壞的!持續整合與版本控制策略
那個 Code 不是我弄壞的! 持續整合與版本控制策略
Poy Chang
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChineseWenlong Zhu
 
软件工程 第八章
软件工程 第八章软件工程 第八章
软件工程 第八章浒 刘
 
Se2009 ch8
Se2009 ch8 Se2009 ch8
Se2009 ch8 浒 刘
 

Similar to 微型團隊的 web 程式開發流程 (20)

Bst svn专项培训
Bst svn专项培训Bst svn专项培训
Bst svn专项培训
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
P6 開始前準備
P6 開始前準備P6 開始前準備
P6 開始前準備
 
Ops as Code using Serverless
Ops as Code using Serverless Ops as Code using Serverless
Ops as Code using Serverless
 
Xpp
XppXpp
Xpp
 
Version control0221
Version control0221Version control0221
Version control0221
 
Subversion
SubversionSubversion
Subversion
 
淺談系統監控與 AWS CloudWatch 的應用
淺談系統監控與 AWS CloudWatch 的應用淺談系統監控與 AWS CloudWatch 的應用
淺談系統監控與 AWS CloudWatch 的應用
 
SRE CH27 - Reliable Product Launches at Scale
SRE CH27 - Reliable Product Launches at Scale SRE CH27 - Reliable Product Launches at Scale
SRE CH27 - Reliable Product Launches at Scale
 
Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群
 
service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012
 
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012
 
快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架
 
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
 
Maven初级培训
Maven初级培训Maven初级培训
Maven初级培训
 
使用 Release management 2013 進行自動化部署
使用 Release management 2013 進行自動化部署使用 Release management 2013 進行自動化部署
使用 Release management 2013 進行自動化部署
 
那個 Code 不是我弄壞的! 持續整合與版本控制策略
那個 Code 不是我弄壞的!持續整合與版本控制策略那個 Code 不是我弄壞的!持續整合與版本控制策略
那個 Code 不是我弄壞的! 持續整合與版本控制策略
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChinese
 
软件工程 第八章
软件工程 第八章软件工程 第八章
软件工程 第八章
 
Se2009 ch8
Se2009 ch8 Se2009 ch8
Se2009 ch8
 

Recently uploaded

前置学历问题应该怎么处理?GPA低申硕困难,可以修改成绩单吗?毕业难?学历认证来帮忙!留服中心授权机构🎓【微信:oojjiijj】
前置学历问题应该怎么处理?GPA低申硕困难,可以修改成绩单吗?毕业难?学历认证来帮忙!留服中心授权机构🎓【微信:oojjiijj】前置学历问题应该怎么处理?GPA低申硕困难,可以修改成绩单吗?毕业难?学历认证来帮忙!留服中心授权机构🎓【微信:oojjiijj】
前置学历问题应该怎么处理?GPA低申硕困难,可以修改成绩单吗?毕业难?学历认证来帮忙!留服中心授权机构🎓【微信:oojjiijj】
微信 tytyqqww业务接单
 
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
h0wovd5
 
🎓挂科?不存在的! 想修改成绩却怕麻烦?别担心,我们有绝招! 💡🌟一分钟内搞定,轻松0元就能改好哦~ #快速修复#省心省力#技术爆棚#简单易操作【微信:o...
🎓挂科?不存在的! 想修改成绩却怕麻烦?别担心,我们有绝招! 💡🌟一分钟内搞定,轻松0元就能改好哦~ #快速修复#省心省力#技术爆棚#简单易操作【微信:o...🎓挂科?不存在的! 想修改成绩却怕麻烦?别担心,我们有绝招! 💡🌟一分钟内搞定,轻松0元就能改好哦~ #快速修复#省心省力#技术爆棚#简单易操作【微信:o...
🎓挂科?不存在的! 想修改成绩却怕麻烦?别担心,我们有绝招! 💡🌟一分钟内搞定,轻松0元就能改好哦~ #快速修复#省心省力#技术爆棚#简单易操作【微信:o...
微信 tytyqqww业务接单
 
黑客常用的邮件入侵方式如何破解Instagram帐户和密码,留才认证和留服认证的区别中留服认证•海外学历认证•国外学历学位认证留才认证和留信认证(留信认证...
黑客常用的邮件入侵方式如何破解Instagram帐户和密码,留才认证和留服认证的区别中留服认证•海外学历认证•国外学历学位认证留才认证和留信认证(留信认证...黑客常用的邮件入侵方式如何破解Instagram帐户和密码,留才认证和留服认证的区别中留服认证•海外学历认证•国外学历学位认证留才认证和留信认证(留信认证...
黑客常用的邮件入侵方式如何破解Instagram帐户和密码,留才认证和留服认证的区别中留服认证•海外学历认证•国外学历学位认证留才认证和留信认证(留信认证...
微信 tytyqqww业务接单
 
Lesson 3 Self-Introduction New words 1 .pptx
Lesson 3 Self-Introduction New words 1 .pptxLesson 3 Self-Introduction New words 1 .pptx
Lesson 3 Self-Introduction New words 1 .pptx
priscilleng1
 
一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
ictglzse
 
113學年度國中教育會考寫作測驗六級分樣卷、113學年度國中教育會考寫作測驗六級分樣卷
113學年度國中教育會考寫作測驗六級分樣卷、113學年度國中教育會考寫作測驗六級分樣卷113學年度國中教育會考寫作測驗六級分樣卷、113學年度國中教育會考寫作測驗六級分樣卷
113學年度國中教育會考寫作測驗六級分樣卷、113學年度國中教育會考寫作測驗六級分樣卷
ssuserd66db11
 
🔥黑客改成绩,你想知道的都在这里! 🌟[爆炸头] 大胆尝试新方法?试试这个吧~ 💡 提高效率,不再拖延。一键优化,成绩瞬间飙升! #学习动力源泉 #神奇改...
🔥黑客改成绩,你想知道的都在这里! 🌟[爆炸头] 大胆尝试新方法?试试这个吧~ 💡 提高效率,不再拖延。一键优化,成绩瞬间飙升! #学习动力源泉 #神奇改...🔥黑客改成绩,你想知道的都在这里! 🌟[爆炸头] 大胆尝试新方法?试试这个吧~ 💡 提高效率,不再拖延。一键优化,成绩瞬间飙升! #学习动力源泉 #神奇改...
🔥黑客改成绩,你想知道的都在这里! 🌟[爆炸头] 大胆尝试新方法?试试这个吧~ 💡 提高效率,不再拖延。一键优化,成绩瞬间飙升! #学习动力源泉 #神奇改...
微信 tytyqqww业务接单
 
Saint Justin, martyr, doctor of the Church (Chinese).pptx
Saint Justin, martyr, doctor of the Church (Chinese).pptxSaint Justin, martyr, doctor of the Church (Chinese).pptx
Saint Justin, martyr, doctor of the Church (Chinese).pptx
Martin M Flynn
 
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
h0wovd5
 
VS2022入門................................
VS2022入門................................VS2022入門................................
VS2022入門................................
Rico Chen
 
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
h0wovd5
 
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
h0wovd5
 
澳大利亚大学成绩单修改 GPA修改 G5研究生保录英国大学成绩修单改 GPA修改 G5研究生保录实时手机定位app有哪些?【微信:oojjiijj】
澳大利亚大学成绩单修改 GPA修改 G5研究生保录英国大学成绩修单改 GPA修改 G5研究生保录实时手机定位app有哪些?【微信:oojjiijj】澳大利亚大学成绩单修改 GPA修改 G5研究生保录英国大学成绩修单改 GPA修改 G5研究生保录实时手机定位app有哪些?【微信:oojjiijj】
澳大利亚大学成绩单修改 GPA修改 G5研究生保录英国大学成绩修单改 GPA修改 G5研究生保录实时手机定位app有哪些?【微信:oojjiijj】
微信 tytyqqww业务接单
 
Unit 3 Self-Introduction New words 3.pptx
Unit 3 Self-Introduction New words 3.pptxUnit 3 Self-Introduction New words 3.pptx
Unit 3 Self-Introduction New words 3.pptx
priscilleng1
 
GPA低,申硕困难。想问一下是否能修改成绩单?希望得到您的帮助申请美国大学改成绩单可以吗?如何增加申请成功几率【微信:oojjiijj】
GPA低,申硕困难。想问一下是否能修改成绩单?希望得到您的帮助申请美国大学改成绩单可以吗?如何增加申请成功几率【微信:oojjiijj】GPA低,申硕困难。想问一下是否能修改成绩单?希望得到您的帮助申请美国大学改成绩单可以吗?如何增加申请成功几率【微信:oojjiijj】
GPA低,申硕困难。想问一下是否能修改成绩单?希望得到您的帮助申请美国大学改成绩单可以吗?如何增加申请成功几率【微信:oojjiijj】
微信 tytyqqww业务接单
 

Recently uploaded (16)

前置学历问题应该怎么处理?GPA低申硕困难,可以修改成绩单吗?毕业难?学历认证来帮忙!留服中心授权机构🎓【微信:oojjiijj】
前置学历问题应该怎么处理?GPA低申硕困难,可以修改成绩单吗?毕业难?学历认证来帮忙!留服中心授权机构🎓【微信:oojjiijj】前置学历问题应该怎么处理?GPA低申硕困难,可以修改成绩单吗?毕业难?学历认证来帮忙!留服中心授权机构🎓【微信:oojjiijj】
前置学历问题应该怎么处理?GPA低申硕困难,可以修改成绩单吗?毕业难?学历认证来帮忙!留服中心授权机构🎓【微信:oojjiijj】
 
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
 
🎓挂科?不存在的! 想修改成绩却怕麻烦?别担心,我们有绝招! 💡🌟一分钟内搞定,轻松0元就能改好哦~ #快速修复#省心省力#技术爆棚#简单易操作【微信:o...
🎓挂科?不存在的! 想修改成绩却怕麻烦?别担心,我们有绝招! 💡🌟一分钟内搞定,轻松0元就能改好哦~ #快速修复#省心省力#技术爆棚#简单易操作【微信:o...🎓挂科?不存在的! 想修改成绩却怕麻烦?别担心,我们有绝招! 💡🌟一分钟内搞定,轻松0元就能改好哦~ #快速修复#省心省力#技术爆棚#简单易操作【微信:o...
🎓挂科?不存在的! 想修改成绩却怕麻烦?别担心,我们有绝招! 💡🌟一分钟内搞定,轻松0元就能改好哦~ #快速修复#省心省力#技术爆棚#简单易操作【微信:o...
 
黑客常用的邮件入侵方式如何破解Instagram帐户和密码,留才认证和留服认证的区别中留服认证•海外学历认证•国外学历学位认证留才认证和留信认证(留信认证...
黑客常用的邮件入侵方式如何破解Instagram帐户和密码,留才认证和留服认证的区别中留服认证•海外学历认证•国外学历学位认证留才认证和留信认证(留信认证...黑客常用的邮件入侵方式如何破解Instagram帐户和密码,留才认证和留服认证的区别中留服认证•海外学历认证•国外学历学位认证留才认证和留信认证(留信认证...
黑客常用的邮件入侵方式如何破解Instagram帐户和密码,留才认证和留服认证的区别中留服认证•海外学历认证•国外学历学位认证留才认证和留信认证(留信认证...
 
Lesson 3 Self-Introduction New words 1 .pptx
Lesson 3 Self-Introduction New words 1 .pptxLesson 3 Self-Introduction New words 1 .pptx
Lesson 3 Self-Introduction New words 1 .pptx
 
一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
 
113學年度國中教育會考寫作測驗六級分樣卷、113學年度國中教育會考寫作測驗六級分樣卷
113學年度國中教育會考寫作測驗六級分樣卷、113學年度國中教育會考寫作測驗六級分樣卷113學年度國中教育會考寫作測驗六級分樣卷、113學年度國中教育會考寫作測驗六級分樣卷
113學年度國中教育會考寫作測驗六級分樣卷、113學年度國中教育會考寫作測驗六級分樣卷
 
🔥黑客改成绩,你想知道的都在这里! 🌟[爆炸头] 大胆尝试新方法?试试这个吧~ 💡 提高效率,不再拖延。一键优化,成绩瞬间飙升! #学习动力源泉 #神奇改...
🔥黑客改成绩,你想知道的都在这里! 🌟[爆炸头] 大胆尝试新方法?试试这个吧~ 💡 提高效率,不再拖延。一键优化,成绩瞬间飙升! #学习动力源泉 #神奇改...🔥黑客改成绩,你想知道的都在这里! 🌟[爆炸头] 大胆尝试新方法?试试这个吧~ 💡 提高效率,不再拖延。一键优化,成绩瞬间飙升! #学习动力源泉 #神奇改...
🔥黑客改成绩,你想知道的都在这里! 🌟[爆炸头] 大胆尝试新方法?试试这个吧~ 💡 提高效率,不再拖延。一键优化,成绩瞬间飙升! #学习动力源泉 #神奇改...
 
Saint Justin, martyr, doctor of the Church (Chinese).pptx
Saint Justin, martyr, doctor of the Church (Chinese).pptxSaint Justin, martyr, doctor of the Church (Chinese).pptx
Saint Justin, martyr, doctor of the Church (Chinese).pptx
 
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
 
VS2022入門................................
VS2022入門................................VS2022入門................................
VS2022入門................................
 
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
 
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
 
澳大利亚大学成绩单修改 GPA修改 G5研究生保录英国大学成绩修单改 GPA修改 G5研究生保录实时手机定位app有哪些?【微信:oojjiijj】
澳大利亚大学成绩单修改 GPA修改 G5研究生保录英国大学成绩修单改 GPA修改 G5研究生保录实时手机定位app有哪些?【微信:oojjiijj】澳大利亚大学成绩单修改 GPA修改 G5研究生保录英国大学成绩修单改 GPA修改 G5研究生保录实时手机定位app有哪些?【微信:oojjiijj】
澳大利亚大学成绩单修改 GPA修改 G5研究生保录英国大学成绩修单改 GPA修改 G5研究生保录实时手机定位app有哪些?【微信:oojjiijj】
 
Unit 3 Self-Introduction New words 3.pptx
Unit 3 Self-Introduction New words 3.pptxUnit 3 Self-Introduction New words 3.pptx
Unit 3 Self-Introduction New words 3.pptx
 
GPA低,申硕困难。想问一下是否能修改成绩单?希望得到您的帮助申请美国大学改成绩单可以吗?如何增加申请成功几率【微信:oojjiijj】
GPA低,申硕困难。想问一下是否能修改成绩单?希望得到您的帮助申请美国大学改成绩单可以吗?如何增加申请成功几率【微信:oojjiijj】GPA低,申硕困难。想问一下是否能修改成绩单?希望得到您的帮助申请美国大学改成绩单可以吗?如何增加申请成功几率【微信:oojjiijj】
GPA低,申硕困难。想问一下是否能修改成绩单?希望得到您的帮助申请美国大学改成绩单可以吗?如何增加申请成功几率【微信:oojjiijj】
 

微型團隊的 web 程式開發流程

  • 1. 軟體工程 - 期末報告 微型團隊的 WEB 程式開發流程 N004020014 張明泰 2013.06.15
  • 2. 大綱 ● 團隊是一個 5 人內的微型的協同合作團隊。 ● 以 SCM 配合專案開發的流程,來管理開發專案。 ● 預計提出一個實務的開發的工作流程,配合 SVN 軟體來 執行 SCM 的辨識、變更管理、狀態報告及稽核等工作 該。 ● 軟體預計使用 Subversion Server 及 SVN Client ,配合 REDMINE(bug tracker) 來追蹤專案的執行。 ● 實際使用上可能會遇到的問題及提出解決的方式。
  • 4. (1) 開發情境 ● 微型的專案團隊,一個全職其他為兼職。 ● 開發的環境及程式為 PHP +HTML + JS 的 WEB 程式。 ● 資料中心架構,以後端的 MySQL or PostgreSQL 為資料 核心。部份為 Oracle 。 ● 需求由專案經理溝通協調確認,透過 issue tracker 做功能 交派。 ● Server 平台為 Linux ,使用 FTP 上傳更新,網頁直接驗 證測試。
  • 5. (1) 開發情境 - 示意圖
  • 7. (3) 解決的對策 ● 使用版本控管軟體 (svn or git) 解決程式碼覆蓋的問題。 ● 使用 wiki 協同作業軟體解決文件不斷更動的,讓文件的變 動可以追蹤。且可以作為對新成員的教育訓練文件。 ● 使用 issue(bug) tracker 來追蹤問題,使用專案管理的時 程來掌握進度。 ● 調整開發、測試及釋出版本的流程,並規範確實遵循。
  • 8. (3) 解決的對策 - 開發關係示意圖
  • 9. (3) 解決的對策 - 角色 ● 專案經理:即是首席程式設計師擁有所有平台環境的存取 管理權限。 ( 首席程式設計師團隊 P367) ● 開發人員:兼任測試人員,可以 commit 各版本到 Testing 平台,並且自行測試功能正常沒有問題後,就可 以自行 Release 正式發布的平台。 ● 報告人員:只擁有 Redmine 專案平台的問題回報權限, 工作的分派由專案經理分派或開發人員認領。
  • 10. (3) 解決的對策 - 需求已確認的開發流程 ● 專案經理確認需求及功能,以 REDMINE 的建立問題 -> 功能說明需求。 ● 開發者再本地端建立一個開發者使用的測試環境,所有的測試都在這裡地方。 ● 本地端程式碼的編寫測試更新都透過 svn client 上傳更新到 svn 儲存庫中。 ● 當測試到一個段落,將程式碼放到 Testing 的 LAMP 平台上,測試人員進行測試。 ● 如果有問題,測試人員再 REDMINE 上面填寫問題回報,系統會以 Email 通知開發 人員。 ● 開發人員接件,解決問題。專案經理再過程中全程協調監控所有的活動狀態。 ● 當測試沒有明顯的問題後,就進行 Release 程式更新到正式的 LAMP 平台上面。 ● 完成一個 Release 後,再 REDMINE 上編寫這個里程碑的文件。 ( 文件的編寫程式過程中,就和程式碼寫在一起,整理文件再整個 review 一次 )
  • 11. 解決的對策 - Redmine 專案管理平台 http://redmine.jangmt.com/http://redmine.jangmt.com/
  • 12. (3) 解決的對策 - Redmine 專案管理平台 ● Redmine 功能清單 (ref: RedMine Features) ● Per project wiki - 每個專案獨立 Wiki 系統 ● Per project forums - 每個專案獨 立 討論區 ● SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs) – 支援多種版本控制系統 ● Multiple projects support - 可以開 多專案管理 ● Flexible role based access control - 多種角色的存取控制 ● Flexible issue tracking system - 議題追蹤管理 ● Gantt chart and calendar - 甘特圖 自動生成、行事曆 ● News, documents & files management - 文件、檔案管理 ● Feeds & email notifications - RSS 、 Email 通知
  • 13. (3) 解決的對策 -RedMine 活動 ● Activity ● 可以知道最近專案的活動 狀態。 ● 包含問題處理、文件編 寫、程式碼更新等 ....
  • 14. (3) 解決的對策 - RedMine 問題清單及新問題 ● 可以針對 BUG 或議題或變更 管理並且給予追蹤及確認的後 續流程。 ● 此功能定位為紀錄每個變更事 件發生時候詳細紀錄。 ● 可以用 mail 追蹤這個問題的 處理狀況。 ● 可以分派這個工作給開發人 員,可以安排預計規劃的工作 時程。並且與甘特圖結合。
  • 15. (3) 解決的對策 - Redmine 甘特圖 or 日曆 ● 甘特圖和日曆可以協助安 排專案的時程,視覺化顯 示專案的進度。 .
  • 16. (3) 解決的對策 - RedMine 的 wiki ● WIKI 可以用來記載需求文 件及需求變更的管理。且 以系統化的方式紀錄。 ● 因為可以查詢版本變化的 過程,所以適合需求變更 的軟體專案開發活動使 用。 ● 和問題追蹤不同處在於可 以系統化的紀錄專案。
  • 17. (3) 解決的對策 - Redmine 儲存庫 ● 可以結合 SVN or GIT 等 外部的版本控管系統,同 時知道程式碼的變更狀 況。方便稽核程式碼。 ● 可以再 web 上 diff 比較 檔案。
  • 18. (3) 解決的對策 -SVN 版本控制系統 ● 使用 SVN 版本控制系統的原因: ● 可在協同開發創作的環境中可以保有所有的變動紀錄、回 復到指定的版本、成員的程式更動與其更動狀況紀錄。 ● SVN 是集中式的版本控制系統,需要網路才可以更新。 ● 其他的版本控制系統: GIT( 分散式版本控制系統 )
  • 19. (3) 解決的對策 -SVN 軟體及使用原則 ● Windows 上常見的工具有 TortoiseSVN ● Linux 上推薦 RapidSVN (GUI) 及命令列 SVN ● Repository :儲存放置文件的儲存庫或資料庫 ● SVN 可以透過 http 、 https 、 ssh+svn 、 svn 等方式存 取。 Ex: svn://svn.jangmt.com/home/repos/test/ ● SVN 目錄習慣上分成為 Trunk/Tags/Branches 。
  • 20. (3) 解決的對策 -SVN 原則 ● Trunk: 版本主幹,主要開發都在這裡 ● Tags: 可以依據里程碑或 Release 的版本 分支成為 Tags ● Branches: 通常用於功能點的分割或 bug 的 修正。完成後使用 Merge 合併回 trunk 。
  • 21. (3) 解決的對策 -SVN 功能 (1) ● Svn Checkout 將 SVN 儲存庫中的資料取出 ● Svn Update 更新 svn 上面的版本到最新 ● Svn Commit -m ' 說明 ' 提交修正的內容 ● Svn add 將檔案或目錄加入 svn 儲存庫,需要 commit 後才會生效。 ● Svn mv 改檔名 ● Svn status 顯示上次 update 後的檔案狀態 , 有 conflict 也會顯示。 ● 常見的 SVN 檔案狀態 : A - 新增檔案 C - 檔案和儲存庫不同,合併失敗需要人工介入處理 M - 有修改過得檔案 ? - 新的檔案不在儲存庫中
  • 22. (3) 解決的對策 -SVN 功能 (2) ● Svn revert 目錄 / 檔案 還原為前一個版本 ● Svn info 顯示目前 SVN 的相關資訊 ● Svn resolved 處理 conflict 的狀況 , 否則 commit 都會出問題 ● Svn diff 比較目前的檔案和 SVN 儲存庫的不同處 ● Svn copy 可以用來建立 Branch 分支或 tags 保存版本狀態。 ● Svn import 將本地端來源匯入 svn 儲存庫 ● Svn log 顯示 commit 的 log 狀態 ● Svn lock 鎖定檔案 ● Svn unlock 解除鎖定
  • 23. (3) 解決的對策 -SVN 原則 ● 同時間只有一個人的開發方式: ● 直接對 儲存庫的 trunk 主幹作 commit ,先上 Testing 平台測試,沒問題後再 svn update 到 Release 的平台。 ● Redmine 的文件及 issue 解決仍是需要回報。
  • 24. (3) 解決的對策 -SVN 原則 ● 修正 bug 的方式: ● 1. 先作 svn update 將程式碼更新到最新版本 ● 2. 檔案較少可以 lock 該檔案,修正後重新 commit 到 Testing 機器。沒問題後再 Release 小版本修正。 ● 寫功能的方式: ● 1. 先作 svn update 將程式碼更新到最新版本 ● 2. 寫功能一定要 copy a branches ,測試完成後再 merge 合併回 trunk 。
  • 25. (3) 解決的對策 - 資料庫的對策 ● 因為使用資料中心的架構的開發方式,資料庫資料是核心 的一環。 ● 讓開發者可以存取維護三個不同開發流程中的資料庫,但 在資料上以每日或每 6 小時備份的方式避免發生不可逆轉 的意外。
  • 26. (3) 解決的對策 - 開發方式原則 ● 參考極限編程的流程。遵循期核心價值:溝通、簡單、回 饋、勇氣,掌握基本原則。 ● 再遵循原則流程中,放手讓開發人員去開發,確保資料可 以回朔保存,最多損失一天的開發量。 ● 一次不用寫太多,分成小功能逐步編寫。 ● 寫程式就同時寫註解,但是要避免亂寫。 ● Code 要有一定的水準才提交,提交要有責任感。
  • 27. (3) 解決的對策 - 開發方式原則 ● 一定要遵循測試開發的流程,謹慎的開發流程 Policy 可以 減少爆肝修 bug 的次數。 ( 不要在下班前 2 小時 Release code) ● 每次開發以 3HR 左右為一個短循環,立即驗證且得到回 饋。要求每次短循環的開發都要寫下文件。 ( in Issue tracker or wiki ) ● 以人性的角度思考程式碼及功能,不要做出違反人性的工 作及程式。
  • 28. (4) 預期困難點 ● 開發人員會因為時程壓力或怕麻煩而沒有遵循這樣的開發 流程規則。 ● 此種開發模式類似極限編程方式,需要有獨當一面的開發 人員。 ● 開發人員的 code style 不好規範,寫出來的程式很難重 複使用。 ● 不能使用程式框架這會讓新進人員的學習曲線過高。 ● 整合的開發環境,開發人員無法熟悉每個環節。