Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter 1 Software and Software Engineering (軟體工程核心原則 (必須對顧客有價值, KIS…
Chapter 1 Software and Software Engineering
軟體工程
緣由 : 軟體的交付會延遲、超過預算、unreliable
:star::star::star:
定義
: 使用合理工程原理,以製造經濟實惠、可靠的軟體
Software
定義
一組items或objects包含
instructions (programs)
data structures
documents
雙重角色
Software is a
product
->提供計算、操作資訊等功能
Software is a
vehicle for delivering a product
->直接或間接提供系統功能 e.g.OS、networking software、software tools
特性
軟體是
開發
出來,而非製造出來
軟體不會wear out,但會退化
軟體通常是
custom built
曲線圖
產品浴缸曲線 (:fire::fire::fire:圖p.9)
中間 : 瑕疵率低
晚期 : 瑕疵率上升(環境影響的累積)
早期 : 死亡率高(設計、製造瑕疵)
軟體瑕疵曲線 (:fire::fire::fire:圖p.11)
是個特別的圖形,跟想像中不太一樣
有chage的地方會直線上升(程式一旦修改,就會產生新bug)
在有change的情況下,不可能每個bug都會被發現,所以長期來看,瑕疵率會逐漸上升
Legacy Software
定義 : 開發人員已離職,而留下的程式碼已無人可理解、修改
因為軟體應該要被
adapted(調整)
: 以適應新硬體(技術、計算環境)
enhanced(加強)
: 加強功能,以符合新的商業需求
extended to make it interoperable(兼容)
: 與其他新系統或資料庫兼容
re-architected(重新設計)
: 使其在網路環境中viable
Umbrella Activities
(大傘活動)
定義
: 為軟體工程工作建立骨幹架構
包含
軟體專案管理
技術review
軟體質量保證
文件的preparation(準備)、production(生產)
風險管理
...
Framework Activities
:star::star::star:
5
steps
Communication
: 溝通、理解客戶需求
Planning
:規劃預算、時程
Modeling
: 分析需求、進行設計
Construction
: 寫程式、測試
Deployment
software engineering practice
作法
理解問題
規畫解決方法
執行計畫
驗證正確性、質量保證
At its core, good practice is
common-sense problem solving
軟體工程核心原則
必須對顧客有價值
KIS (越簡單越好)
Maintain the product and project “vision” (未來還能發展)
Be open to the future(易修改、維護)
Plan ahead for reuse
Think!(思考怎麼樣可以做好,而非做完而已)