View
238
Download
1
Embed Size (px)
Citation preview
Software Engineering for Digital Home
單元 1 :數位家庭軟體工程導論
Software Engineering for Digital Home
2
Agenda
• Digital Home– Applied Area of Digital Home – Infrastructure of Digital Home– Non-Functional Requirements of Digital Home
• Software Engineering
2
Software Engineering for Digital Home
3
數位家庭平台架構圖
Software Engineering for Digital Home
4
居家保全 ( 技術、應用與服務 )
*Portability*Reliability*Fault Tolerant*Security*Performance*…
Software Engineering for Digital Home
5
家庭娛樂 ( 技術、應用與服務 )
*Portability*Reliability*Performance*…
Software Engineering for Digital Home
6
家庭網路 ( 技術、應用與服務 )
Software Engineering for Digital Home
7
居家照顧 ( 技術、應用與服務 )
*Portability*Reliability*Fault Tolerant*Performance*Security*…
Software Engineering for Digital Home
8
Example :Infrastructure of H/W and S/W
RF RF
IR IR
Devices controller
Home Server
Software Engineering for Digital Home
9
Intelligent Sensing
Software Engineering for Digital Home
System Controller
Embedded Software
Home Server
Software
Software Engineering for Digital Home
11
Non-Functional Requirements
應用需求 居家保全 家庭娛樂 居家照顧
Portability V V V
Reliability V V V
Fault Tolerance V N/A V
Security V N/A V
Performance V V V
… … … …
Software Engineering for Digital Home
12
數位家庭軟體工程
Software Engineering for Digital Home
13
What is the System Development Cycle?
• What is an information system (IS)?
13
Hardware, software, data, people, and procedures that
work together to produce quality information
Hardware, software, data, people, and procedures that
work together to produce quality information
System—Set of components that interact to achieve
common goal
System—Set of components that interact to achieve
common goal
Businesses use many types of systems
Businesses use many types of systems
Software Engineering for Digital Home
14
Software Engineering
• Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software or information system.
14
Arrange tasks into phases (groups of activities)
Arrange tasks into phases
Develop clearly defined standards(procedures company expects employees to follow)
Involve users(anyone for whom system is being built)
Software Engineering for Digital Home
15
Software life cycle
15
Software Requirement Specification
Software Requirement Specification
System Design Document
System Design Document User ManualUser Manual
Analysis( 分析 )
Analysis( 分析 )
2
Planning( 計畫 )
Planning( 計畫 )
1
Implementation
( 實做 )
Implementation
( 實做 )
4 Testing( 測試 )Testing( 測試 )
5Design( 設計 )Design( 設計 )
3
Ex. 6
Test Document
Test Document
Maintenance
( 維護 )
Maintenance
( 維護 )
6
Software Engineering for Digital Home
16
Planning
• To answer the question why to do this system(為什麼要做這系統 )
• The company had the gain from the system(實質利益有哪些 )
16
Software Engineering for Digital Home
17
Planning (cont.)
• The methods of estimation– Operational Feasibility(操作性分析 )
• 系統開發完成後能夠有效被利用嗎– Technical Feasibility(技術可行性 )
• 評估系統開發相關技術,包含硬體、軟體技術取得、支援以及維護
– Economic Feasibility(經濟可行性 )• 評估系統開發的成本,系統能為企業帶來經濟效益、系統維護成本之問題
17
Software Engineering for Digital Home
18
Analysis
• To answer the question what to do this system(系統要做什麼 )
• Try to understand the functions that system should supply(系統要提供什麼功能 )
• Write down the Software Requirements Specification(SRS)(軟體需求規格文件 )
18
Software Engineering for Digital Home
19
Steps of Analysis
19
Software Requirements Specification
Functional Requirement
( 功能性需求 )
Functional Requirement
( 功能性需求 )
Requirement Analysis
( 需求分析 )
Requirement Analysis
( 需求分析 )
Requirement Elicitation
( 需求擷取 )
Requirement Elicitation
( 需求擷取 )
Scenario( 劇本 )Scenario( 劇本 )Use Case( 使用案
例 )Use Case Diagram
( 使用案例圖 )
Use Case( 使用案例 )
Use Case Diagram( 使用案例圖 )
Software Engineering for Digital Home
20
Requirement Elicitation
• Collect data from existed system(從既有的系統做資料收集 )
• Understand knowledge before system developed(系統開發前的預備知識 )
• Communicate with customers and domain expert(客戶或領域專家溝通 )
• Understand the workflow of process in existed systems(解系統既有的活動流程 )
20
Software Engineering for Digital Home
21
Requirement Elicitation (cont.)
• Review Document(既有的報表與表單 )
• Questionnaire(問卷 )
• Interview(訪談紀錄 )– 訪客利用網際網路查詢課程介紹,當訪客進入首頁時,系統顯示課程清單。如果有查到想要修的課程項目點選後,則顯示課程詳細介紹畫面。
– …
• Session(定期開會 )
21
Software Engineering for Digital Home
22
Requirement Analysis
• Convert the description of the result of Requirement Elicitation to Functional Requirements
– 訪客利用網際網路查詢課程介紹,當訪客進入首頁時,系統顯示課程清單。如果有查到想要修的課程項目點選後,則顯示課程詳細介紹畫面。
22
Functional
Software Engineering for Digital Home
23
Scenario
• The executing steps about the function
• Function may have variety of executing steps– 訪客利用網際網路查詢課程介紹,當訪客進入首頁時,系統顯示課程清單。如果有查到想要修的課程項目點選後,則顯示課程詳細介紹畫面。
23
Request Response
1. 訪客瀏覽教學網站首頁 2 .顯示課程清單
3. 訪客點選課程項目 4. 顯示課程詳細介紹畫面
Software Engineering for Digital Home
24
Use Case
• Combine each of Function with the Functional Requirements and Scenarios to a integrated description, that is Use Case– Function Name(使用案例名稱 )
– Description(描述 )
– Actor(參與者 )
– Pre-Condition(使用前提 )
– Post-Condition(成功後狀態 )
– Scenario(劇本 )
– Appendix(附註 )
24
Software Engineering for Digital Home
25
Use Case(cont.)
25
Title(名稱 ) 查詢課程內容Description(描述 )
主畫面會顯示所有課程,而每個課程都有其介紹的連結,訪客點入後會看到此課程的介紹
Actors(參予者 ) 訪客Pre-condition(前提 ) 課程介紹必須存在Post-condition(成功後狀態 )
已查看到課程的介紹畫面
Scenario(劇本 )
Appendix(註釋 )
Request Response
1. 訪客瀏覽教學網站首頁 2 .顯示課程清單3. 訪客點選課程項目 4. 顯示課程詳細敘述
Scenario
訪客利用網際網路查詢課程介紹,當訪客進入首頁時,系統顯示課程清單。如果有查到想要修的課程項目點選後,則顯示課程詳細介紹畫面。
Software Engineering for Digital Home
26
Use Case Diagram
• Actor(角色 )– Interaction with the system.
• Use Case(使用案例 )– Indicate the function of the
system
• Associations(連接線 )– Indicate that the function
may be executed by the actor
26
訪客
登入系統
新增作業
老師
Software Engineering for Digital Home
27
Use Case Diagram(cont.)
• Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors
27
查詢課程介紹
訪客
Title(名稱 ) 查詢課程內容Description(描述 ) …
Actors(參予者 ) 訪客Pre-condition(前提 ) …
Post-condition(成功後狀態 )
…
Scenario(劇本 ) …
Appendix(註釋 )
Software Engineering for Digital Home
28
Ex.6
• 訪客必須向教學網站註冊,才可以進行修課的動作。至登入畫面時,系統顯示登入表單,訪客必須輸入帳號與密碼後按送出登入到系統。系統查驗登入資料的正確後,顯示個人首頁畫面。
28
Request Response
1.訪客瀏覽登入畫面 2.顯示登入的表單3.訪客輸入登入資料 (帳號與密碼 )後送出
4.查驗成功後,顯示個人首頁畫面
Software Engineering for Digital Home
29
Ex.6 Use Case
29
Title 登入系統
Description 訪客登入系統,至其相對應的權限頁面
Actors 訪客
Pre-condition 已經註冊
Post-condition 可以執行其相對應的權限
Scenario
Appendix
Request Response
1.訪客瀏覽登入畫面 2.顯示登入的表單3.訪客輸入登入資料(帳號與密碼 )後送出
4.查驗成功後,顯示個人首頁畫面
訪客必須向教學網站註冊,才可以進行修課的動作。至登入畫面時,系統顯示登入表單,訪客必須輸入帳號與密碼後按送出登入到系統。系統查驗登入資料的正確後,顯示個人首頁畫面。
Software Engineering for Digital Home
30
Ex.6 Use Case Diagram
30
登入系統
訪客
Title(名稱 ) 登入系統Description(描述 ) …
Actors(參予者 ) 訪客Pre-condition(前提 ) …
Post-condition(成功後狀態 )
…
Scenario(劇本 ) …
Appendix(註釋 )