30
Software Engineering for Digital Home 單單 1 單單單單單單 單單單單 :體

Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

  • View
    238

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

單元 1 :數位家庭軟體工程導論

Page 2: 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

Page 3: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

3

數位家庭平台架構圖

Page 4: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

4

居家保全 ( 技術、應用與服務 )

*Portability*Reliability*Fault Tolerant*Security*Performance*…

Page 5: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

5

家庭娛樂 ( 技術、應用與服務 )

*Portability*Reliability*Performance*…

Page 6: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

6

家庭網路 ( 技術、應用與服務 )

Page 7: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

7

居家照顧 ( 技術、應用與服務 )

*Portability*Reliability*Fault Tolerant*Performance*Security*…

Page 8: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

8

Example :Infrastructure of H/W and S/W

RF RF

IR IR

Devices controller

Home Server

Page 9: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

9

Intelligent Sensing

Page 10: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

System Controller

Embedded Software

Home Server

Software

Page 11: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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

… … … …

Page 12: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

12

數位家庭軟體工程

Page 13: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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

Page 14: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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)

Page 15: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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

Page 16: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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

Page 17: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

17

Planning (cont.)

• The methods of estimation– Operational Feasibility(操作性分析 )

• 系統開發完成後能夠有效被利用嗎– Technical Feasibility(技術可行性 )

• 評估系統開發相關技術,包含硬體、軟體技術取得、支援以及維護

– Economic Feasibility(經濟可行性 )• 評估系統開發的成本,系統能為企業帶來經濟效益、系統維護成本之問題

17

Page 18: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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

Page 19: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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( 使用案例圖 )

Page 20: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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

Page 21: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

21

Requirement Elicitation (cont.)

• Review Document(既有的報表與表單 )

• Questionnaire(問卷 )

• Interview(訪談紀錄 )– 訪客利用網際網路查詢課程介紹,當訪客進入首頁時,系統顯示課程清單。如果有查到想要修的課程項目點選後,則顯示課程詳細介紹畫面。

– …

• Session(定期開會 )

21

Page 22: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

22

Requirement Analysis

• Convert the description of the result of Requirement Elicitation to Functional Requirements

– 訪客利用網際網路查詢課程介紹,當訪客進入首頁時,系統顯示課程清單。如果有查到想要修的課程項目點選後,則顯示課程詳細介紹畫面。

22

Functional

Page 23: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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. 顯示課程詳細介紹畫面

Page 24: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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

Page 25: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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

訪客利用網際網路查詢課程介紹,當訪客進入首頁時,系統顯示課程清單。如果有查到想要修的課程項目點選後,則顯示課程詳細介紹畫面。

Page 26: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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

訪客

登入系統

新增作業

老師

Page 27: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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(註釋 )

Page 28: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

28

Ex.6

• 訪客必須向教學網站註冊,才可以進行修課的動作。至登入畫面時,系統顯示登入表單,訪客必須輸入帳號與密碼後按送出登入到系統。系統查驗登入資料的正確後,顯示個人首頁畫面。

28

Request Response

1.訪客瀏覽登入畫面 2.顯示登入的表單3.訪客輸入登入資料 (帳號與密碼 )後送出

4.查驗成功後,顯示個人首頁畫面

Page 29: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

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.查驗成功後,顯示個人首頁畫面

訪客必須向教學網站註冊,才可以進行修課的動作。至登入畫面時,系統顯示登入表單,訪客必須輸入帳號與密碼後按送出登入到系統。系統查驗登入資料的正確後,顯示個人首頁畫面。

Page 30: Software Engineering for Digital Home 單元 1 :數位家庭軟體工程導論

Software Engineering for Digital Home

30

Ex.6 Use Case Diagram

30

登入系統

訪客

Title(名稱 ) 登入系統Description(描述 ) …

Actors(參予者 ) 訪客Pre-condition(前提 ) …

Post-condition(成功後狀態 )

Scenario(劇本 ) …

Appendix(註釋 )