CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง...

26
วิศวกรรมความต้องการ บทที ่ 3 ผศ.ดร.อนันตกุล อินทรผดุง www.anantakul.net [email protected]

Transcript of CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง...

Page 1: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

วศวกรรมความตองการ

บทท 3

ผศ.ดร.อนนตกล อนทรผดงwww.anantakul.net

[email protected]

Page 2: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

2

Basics of Requirements Engineer

Requirements

Analysis

Software

Design

System

Engineering

What

How

Page 3: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

3

การก าหนดความตองการ

สามารถแบงออก 3 ระดบ

1. Requirement Definition คอ เอกสารทอธบายลกคาวาอะไรบางทระบบตองม

2. Requirement Specification คอ เอกสารอธบายรายละเอยดหนาทและเงอนไขตางทระบบตองท า โดยมงสอใหนกออกแบบเขาใจ

3. Software Specification คอ อธบายวธการพฒนาในทมงานวศวกร

Page 4: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

4

Requirements specification

Defines requirements on different levels of abstraction, for example

Customer requirements

Component requirements

Each level intended for a different class of readers

Page 5: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

5

Customer requirements document

Defines system to be built from the customer perspective

Customer needs to understand the document

Basis of contract between customer and system developer

Requirements ought to be complete and consistent!!!

Page 6: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

6

Customer requirements

A complete understanding of software requirements is essential for the success of the project!

Users are not satisfied by a well designed and well coded software system

Users want systems that fulfill their needs

Page 7: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

7

Software requirements analysis process

เปนกระบวนการสรางขอก าหนดความตองการ โดยบรรจไวในเอกสาร ซงถอวาเปนจดเรมตนของการพฒนา

โดยลกษณะของกระบวนการจะตอง คนหาใหพบ (discovery) ละเอยดรอบคอม (refinement) มรปแบบ (modeling) มการก าหนดทชดเจน (specification)

Customer and developer have active roles

Page 8: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

8

Requirement Engineering Process

ทมา: อนนตกล อนทรผดง (2556 : 23)

Page 9: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

9

Requirement Definition

เปนการสรางเอกสารทเกยวของกบผวาจางและผบรหารโครงการ ประกอบไปดวย ความตองการระบบ 2 แบบ คอ Function Requirement คอ ระบบถง สงตางๆหรอการ

บรการทผใชระบบความหวงวาจะไดรบ Non- Function Requirement คอ เงอนไขหรอกฏเกณฑ

ตางๆทระบบตองท า เชน เรองของเวลา หรอ มาตรฐานทจะใชในการพฒนาระบบ

Page 10: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

10

ขนตอนในการวเคราะห (Analysis steps)

จดจ าปญหา (Problem recognition)

เขยนความสมพนธของความตองการโดยใชโมเดลมาตราฐาน (Modeling)

ก าหนดความตองการจรงๆ (Customer requirements specification)

ทบทวนและลงนาม (Review & sign off)

Page 11: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

11

Communication basics

Listen to your customer! Hearing ¹ Understanding

Prepare meetings Know your customer and contacts

Read available documents

Think about the goals of the meeting

Think about problems

Be on time

Page 12: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

12

Initiating communication

First meeting may be awkward No knowledge about partner

Different expectations

But: both want success

Basic understanding of the problem Who is behind the request for this work?

Who will use the solution? Benefits?

What would be a “good” solution?

What will be the solution’s environment?

Constraints? Performance issues?

Right person to talk to? Answers “official”?

Did I miss some questions? Too many?

Who else to talk to?

Page 13: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

13

Guidelines

Understand the problem before you begin to create requirements specification Don’t solve the wrong problem

Develop user-interface prototypes User interface often determines “quality”

Record origin of and reason for requirements

Use multiple views on requirements Reduces risk to miss something

Prioritize requirements

Work to eliminate ambiguity

Page 14: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

14

โมเดลรง (Modeling)

Create models of the real world to be represented by the system

Often: Graphical representations ER, Data flow, Use Cases, Class ……

Cover Function: Transformation of data

Behavior: Responses to events

Key data structures

Page 15: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

15

Analysis models are used for ….

Understanding the problem

Specification of customer requirements

Reviews

Communication with customers

Basis for design and implementation

Page 16: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

16

Software prototyping

Objective: requirements specification & validation, feasibility

Especially: Requirements on user interfaces Paper-based “prototypes”

GUI builder for mock-up

Preliminary user manual

Throw-away versus evolutionary prototype

Tools: 4GL for databases

GUI builder

Formal specification & prototyping environments

Page 17: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

17

Specification principles

Separate functionality from implementation

Develop cognitive models (not implementation)

Establish context by defining interfaces

Define environment of the system

Specification must be extendable Because it is always incomplete

Page 18: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

18

Specification representation

Format and content should be relevant for the problem

There are different application domains

Nested information, multiple layers

Consistent notation in diagrams

Representation tool should support changes

Page 19: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

19

Requirements notations

natural language+ easy to read and understand

- ambiguity

- difficult to change (implicit dependencies)

formal languages+ unambigous

- syntax hard to read and understand

+ tests on consistency etc.

semi-formal language specifications, e.g. use cases our approach

Page 20: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

20

Nonfunctional customer requirements

Restriction or constraint on a system service Hardware platform, response times, MTBF,

...

Reasons: user needs, budget constraints, etc.

Should be quantifiable not: quick response time

Page 21: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

ตวอยางการก าหนด Problem Domain

21

นโยบายของกรมปศสตว และเพอใหสอดคลองกบสถานการณในปจจบน กรมปศสตวจงม ความประสงคทจะจดท าระบบบรการรบแจงและใหความรกบประชาชนเรองโรคระบาดสตว เพอใหประชาชนทพบเหนสตวเจบปวย ลมตาย หรอสถานการณทแนวโนมวาจะเกดการระบาดของโรคระบาดสตวโดยเฉพาะโรคตดตอระหวางสตวและคน สามารถแจงใหกรมปศสตวทราบและเขาไปตรวจสอบ ควบคม ปองกนแระระบาดของโรคไดทนทวงท และเพอเปนการใหความรกบประชาชนในเรองโรคระบาดสตว โดยชองทางการแจงและศกษาหาความรของประชาชนนน สามารถท าไดทงทางโทรศพท E-mail และ Internet Web Application ของกรมปศสตว โดยเจาหนาทและประชาชนสามารถระบจดและดพนททเกดการระบาด และพนททเสยงตอการเกดการระบาดไดบนแผนทระบบสารสนเทศภมศาสตร (GIS) ผานเครอขายระบบอนเทอรเนตได ท าใหประชาชนทงประเทศสามารถมสวนรวมเพอชวยหยดย งการระบาดของโรคระบาดสตวโดยเฉพาะโรคตดตอระหวางสตวและคนได

Page 22: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

Domain Model

22

Page 23: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

การก าหนดความตองการ

ระบบสามารถรบแจงโรคหรอกลมอาการของโรคระบาดสตว และสามารถระบต าแหนงทเกดเหตและแสดงสถานทใกลเคยงกบจดทโรคระบาดได สามารถเพมเตมโรคระบาดสตวในอนาคตได

มระบบควบคมสทธของผใชงานโดยสามารถก าหนดสทธแบงตามประเภทไดดงน ผใชงานทวไป เชน ประชาชน ผทถอบตรประชาชน หรอผทเปนสมาชก ผใชงานทเปน อาสาสมครจากหนวยงานอนๆ ผใชงานทเปนเจาหนาทและผบรหารของกรมปศสตว ผดแลระบบ

23

Page 24: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

การก าหนดความตองการ (ตอ)

มระบบทพฒนามสวนบรหารและจดการขอความผาน SMS เพอแจงใหกบผรบ และกลมผรบ

มระบบแจงเตอนดวยสญลกษณและสถานะของการแจง เพอใหทราบถง ประเภทของโรคระบาดสตวขอมลทยงไมไดเปดอาน ขอมลทถกอานแลวโดยเจาหนาท และมการแจงผาน SMS แลว

มระบบบรหารจดการขอมลสถานทตงตางๆ บนแผนท เพอชวยใหงายตอการแจงขอมลโรคระบาด

มระบบบรหารจดการขอมลเพอเผยแพรความรใหกบประชาชนผานทางระบบอนเตอรเนต

24

Page 25: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

แนะน าหนงสอทหาอานเพมเตม อนนตกล อนทรผดง (2556) การวเคราะหและออกแบบระบบเชงวตถ, กรงเทพฯ

: ส านกพมพมาสเตอรกอบป พรฤด เนตโสภากล.ผศ.ดร.(2549). วศวกรรมซอฟตแวร ทฤษฎ หลกการ และ

การประยกตใช. กรงเทพฯ : ส านกพมพทอบ สมชาย กตตชยกลกจ. ดร.(2550), เรองการพฒนาซอฟตแวรมแคน,สมาคม

สงเสรมเทคโนโลย(ไทย-ญปน) Ian Sommerville, Software Engineering (7 Edition), Addison Wesley; 2006. Booch et al: Unified Modeling Language Users Guide, Addison-Wesley, 1999 Schach: Classical and Object-Oriented SE, McGraw Hill, 1999 James F.Peters,Witold Pedrycz: Software Engineering

Page 26: CPSC 333 Lecture 3 · Function Requirement คือ ระบบถึง สิ่งต่างๆหรือการ ... Restriction or constraint on a system service Hardware

ประเดนค าถาม

26