Course 254 451 Software Engineering Class 5 / Requirements Engineering Michael Bruecknerphone055-261 000-4 (ext. 3233) อ. มิช่า

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
E-COMMERCE WEBSITE Smartzap Co., Ltd.. Company Profile บริษัท สมาร์ทแซป จำกัด ก่อตั้งเมื่อปี 2543 (13 ปี ) ในช่วงยุค Internet เพิ่ง เริ่มต้น เป็นบริษัทที่ดำเนินงานทางด้าน.
Advertisements

John Rawls  John Rawls is the most famous American social contract theorist argued that “Justice is fairness” He Thought human natural have a appropriate.
หลักการและแนวคิดการนำ สื่ออิเล็กทรอนิกส์ มาใช้ใน การเรียนการสอน ผศ. นพ. ทรงพล ศรีสุโข 30 ก. ย
THE PARTS OF A FLOWERING PLANT AND THEIR FUNTION.
Set is a basic term in Mathematics. There is no precise definition for term “set”, But roughly speaking, a set is a collection of objects, Things or symbols,
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
INTELLECTUAL CAPITAL : IC Group 3: Tipada Subhasean Nongluk Charoeschai Nerisa Wangkarat
Educational Objectives
Supreeya Wongtra-ngan,MD.,MHPEd. CLINICAL COMPETENCIES  Factual Knowledge  Technical Skill  Problem Solving Skill  Communication Skill  Manners &
Chapter 9 : Designing Approach
Graphical User Interface charturong.ee.engr.tu.ac.th/CN208
Braille OCR Mobile Application
รู้จักกับเทคโนโลยี RFID เบื้องต้น
Emergency Response System for Elderly and PWDs: Design & Development
Database Management System
อาจารย์ มธ. อธิบายการใช้ โมเดลของ
ระบบการจัดเก็บในคลังสินค้า
: Chapter 1: Introduction 1 Montri Karnjanadecha ac.th/~montri Image Processing.
ออโตมาตาจำกัด FINITE AUTOMATA
Helping you make better treatment decisions for your patients.
BUSINESS SYSTEM ANALYST Course Description. Role of a Business Analyst  A "Business Analyst" (BA). In some companies, the BA plays a technical role with.
Chapter 19 Network Layer: Logical Addressing
ผศ.(พิเศษ)น.พ.นภดล สุชาติ พ.บ. M.P.H.
Inductive, Deductive Reasoning ผศ.( พิเศษ ) น. พ. นภดล สุชาติ พ. บ. M.P.H.
Course Software Engineering SE Overview and Introduction.
Course Software Engineering Final Test Preparation Michael Brueckner.
Course Software Engineering SE Overview and Introduction.
December 25 th, 2013 Naresuan University Hospital, Faculty of Medicine, Naresuan University December 25 th, 2013 Naresuan University Hospital, Faculty.
Project Management Wathana Yeunyong, Ph.D..
Problem with Subjunctive Verbs Some verbs and noun require a subjunctive. A subjunctive is a change in the usual form of the verb. It is often a verb word.
MK380 Marketing Information System
Modern Management นำเสนอโดย อาจารย์มุกดา ยี่หวา คณะบริหารธุรกิจ.
8/3/2014The Realities of software Testing1 Software testing Realities What is the realities of software testing Why does the software testing not complete.
Merchant Marine Training Centre วิชาการเป็นเลิศ เชิดชู คุณธรรม ผู้นำ.
บทที่ 2 งบการเงินพื้นฐาน BASIC FINANCIAL STATEMENTS 2.
Research Problem Research Question Research Hypothesis
Data Data are Raw material Data are values of qualitative or quantitative variables, belonging to a set of items. Sample 23, 36, 60 male, female like,
Menu and Interactive with Powerpoint ให้นำเรื่อง Input /Output Technology มา จัดทำ การนำเสนอ โดยใช้หลักการ Menu and Interactive with powerpoint มาประยุกต์
Food Alert System of Thailand (FAST) EU-Thailand Economic Co-operation Small Projects Facility.
Algorithm Efficiency There are often many approaches (algorithms) to solve a problem. How do we choose between them? At the heart of computer program.
Introduction to Earned Value Analysis.
Writing a research. Why Research?  To find whether the messages and the materials are appropriate to the target group  To modify the messages and the.
1-1: Software Project Management การจัดการโครงงานซอฟต์แวร์ Software Project Management การจัดการโครงงานซอฟต์แวร์ ความหมายการจัดการโครงงาน.
Project Framework Risk & Issue Management Sponsor Management
จัดทำโดย นางสาวทิพยรัตน์ กำลังมาก เลขที่ 19 นางสาวปัญณิศา ป้องขันธ์ เลขที่ 26 นางสาวพรวษาทวีกุล เลขที่ 27 นางสาววลัยลักษณ์ ขวัญคุ้ม เลขที่ 34 นางสาวอมรรัตน์
ผู้ให้สัมมนา นายธเนศ เกษศิลป์ รหัส ภาควิชานิติวิทยาศาสตร์
การบริหารการประเมินผลการปฏิบัติงาน Performance Management
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
Dianne J. Hall David B. Paradice James F. Courtney Proceedings of the 34th Hawaii International Conference on System Sciences
ทุนทางปัญญา Intellectual Capital KM743 Session 3.1
เอกสารเรียนวันที่ 27 มกราคม 2555
เอกสารเรียนวันที่ 7 กันยายน 2555
Chapter 3 Simple Supervised learning
An Online Computer Assisted Instruction Development of Electronics Devices Subject for Learning Effectiveness Testing By Assoc.Prof. Suwanna Sombunsukho.
Introduction of DREAM สุวรรณา ประณีตวตกุล คณะเศรษฐศาสตร์ มหาวิทยาลัยเกษตรศาสตร์
Physical Chemistry IV The Ensemble
The Analysis of Strands, Standards and Indicators for Tests
ภาษาอังกฤษ ชั้นมัธยมศึกษาปึที่ 4 Grammar & Reading ครูรุจิรา ทับศรีนวล.
D 2 E 1 S E M N G ม. I G I T Grammar A L 4.0.
1. นี่เป็นสิ่งที่พระเยซูทรงทำ พระองค์ทรงรักษาทุกคน ที่เจ็บป่วยให้หายดี
แล้วไงเกี่ยวกับความจริง What About Truth?
1. พระเยซูทรงต้องการให้เราเป็น เหมือนพระองค์
The management of change Changes in work patterns and jobs
Soroptimist International
<insert problem title>
Forces and Laws of Motion
Workday Merit Process - Approvers
Extreme Programming Explained: Embrace Change
STRATEGIES FOR SUCCESS
Internal Logos DIY Design Guide V
ใบสำเนางานนำเสนอ:

Course Software Engineering Class 5 / Requirements Engineering Michael Bruecknerphone (ext. 3233) อ. มิช่า officeSC2-417, by appointment

(c) Michael Brueckner 2005/ Software Engineering 2 Overview of Today  Terminology ( คำศัพท์เฉพาะทาง )  Requirements Engineering  Functional การทำงาน Requirements  Non-Functional Requirements

(c) Michael Brueckner 2005/ Software Engineering 3 Terminology  Requirements Engineering is the process in the software development life cycle where we find out, analyze, organize and check ตรวจสอบ the constraints ความยับยั้งชั่งใจ / ข้อจำกัด of the system  The Requirements Engineering Process consists of 5 distinct steps:  Requirements Elicitation ( เคลื่อนย้ายออกไปจาก )  Requirements Analysis and Negotiation ( การเจรจาต่อรอง )  Requirements Specification  Requirements Validation ( การให้เหตุผล )  Requirements Management

(c) Michael Brueckner 2005/ Software Engineering 4 Requirements Engineering-1  Requirements engineering leads to  a description of the user requirements which are expressed in terms of user concepts (in natural language and diagrams)  a detailed description of the system requirements which show what the system should do (in a precise แม่นยำ language)

(c) Michael Brueckner 2005/ Software Engineering 5 Requirements Engineering-2  Purpose ความต้องการ of RE  identify ระบุชื่อ which data and processes we need  determine ค้นความจริงอย่างแน่วแน่ the functional and non-functional requirements  show several business options in „user language“  specify กำหนด requirements without computer language or technology details

(c) Michael Brueckner 2005/ Software Engineering 6 Requirements Elicitation-1  Determine what  users want and  what they need  (difference?) difference Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner 2005/ Software Engineering 7 How Programs Are Usually Written … The requirements specification was defined like this The developers understood it in that way This is how the problem was solved before. This is how the problem is solved now That is the program after debugging This is how the program is described by marketing department This, in fact, is what the customer wanted … ;-)

(c) Michael Brueckner 2005/ Software Engineering 8 Requirements Elicitation-2  Important:  Investigate สืบสวน the current way of work at the user‘s side  Processes  Information flow  How?  Interviews  Paper work  Observation What is happening in the company? Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner 2005/ Software Engineering 9 Interviews-1  Most important way to specify requirements  Important to understand the current way of work or „system“  Almost the only way to investigate problems with situation ... but who are the right persons to interview?

(c) Michael Brueckner 2005/ Software Engineering 10 Interviews-2  Best case:  Staff members who will work with our system  Managers who understand the current system  Typical case for completely new systems:  Managers because staff is not yet hired จ้าง

(c) Michael Brueckner 2005/ Software Engineering 11 Interviews-3  How to interview (attention: psychology!)  Always do your homework before the interview (learn about the company and its environment)  Know something about the person and department you are going to see  Do not assume ( ทึกทักเอา ) too much about your own knowledge  Maybe you don‘t understand the problems  Someone may have misinformed ให้ข้อมูล ผิดๆ you

(c) Michael Brueckner 2005/ Software Engineering 12 Interviews-4  Do not tell the interviewee what he/she should tell you  He/She knows - not you  Your task is to find out  If you tell something you might never know the truth ( แก้ไขให้ ถูกต้อง )  The right question is  „What happens in your department?“ No interruptions!

(c) Michael Brueckner 2005/ Software Engineering 13 Paper Work  Very important:  Collect ไปนำมา all different types of working papers  forms  memos  notes  reports  Where do they come from  Where do they go to Information flow Forms Memos Reports

(c) Michael Brueckner 2005/ Software Engineering 14 Observation  Watch what happens  Follow people as they do their work within the current system  Maybe you can set up a small „dummy“* system to watch the staff carefully as they work their tasks *) dummy = the very first prototype

(c) Michael Brueckner 2005/ Software Engineering 15 Result of Requirement Elicitation-1  Statement แถลงการณ์ of need and feasibility ซึ่งเป็นไปได้  Paper with the scope ( ขอบเขต ) of the system or product  A list of customers, users and other stakeholders who participated มีส่วน in the requirements elicitation activity

(c) Michael Brueckner 2005/ Software Engineering 16 Result of Requirement Elicitation-2  A description of the system‘s technical environment  A list of requirements (organized by function) and the constraints ( ข้อจำกัด ) that apply to each  A set of usage scenarios ( บทภาพยนตร์ ) that give insight ความเข้าใจลึกซึ้ง into the use of the system or product under different conditions สถานการณ์ Each of these results is reviewed by all people who have participated in process Each of these results is reviewed by all people who have participated in process

(c) Michael Brueckner 2005/ Software Engineering 17 Requirements Analysis-1  Organize the requirements out of the work products into related subsets ( ตัวเลขที่อยู่ภายใต้ตัวเลขอื่น ( คณิตศาสตร์ )), e.g. through classification  Explore สำรวจ each requirement in relationship to others  Examine พินิจพิจารณา for  consistency ( ความสอดคล้อง )  omissions ( การละเลย )  ambiguity ( ความกำกวม ) Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management  Propose a priority ( การมาก่อน ) for each requirement according to the needs of customers/users

(c) Michael Brueckner 2005/ Software Engineering 18 Requirements Analysis-2  Relevant questions to be asked and answered during analysis:  Is each req. consistent with overall objective เป้าหมาย of the system/product? *  Are all req. specified at the right level of abstraction นามธรรม ? (Is there to much technical detail in a req.?)  Is the req. necessary จำเป็น or is it an add-on to the objective of the system/product? * * Negotiation needed!

(c) Michael Brueckner 2005/ Software Engineering 19 Requirements Analysis-3  Is each req. bound เป็นพรหมลิขิต and unambiguous?  Does each req. have a reference (a „source“, typically staff member or a working document)?  Do any req. conflict ขัดแย้ง with other req.? *  Can we achieve สำเร็จ each req. in the technical environment of the system/product?  Is each req. testable after it is implemented? * Negotiation needed!

(c) Michael Brueckner 2005/ Software Engineering 20 Requirements Specification-1 ... or „Requirements description“  Requirements description is the definitive ที่สรุปขั้นสุดท้าย document for everything which is needed from the new system  Most important document  Every requirement usable as a benchmark เกณฑ์ มาตรฐาน of the new system Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner 2005/ Software Engineering 21 Requirements Specification-2  Standard template แผ่นที่เจาะเป็นแม่แบบรูป ต่างๆ or natural language document (= text)  what the new system has to do („functional req‘s“)  the level of performance การทำให้บรรลุผล สำเร็จ and resource ทรัพยากร usage การใช้ („non-functional req‘s“) Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner 2005/ Software Engineering 22 Functional Requirements ... are descriptions of required functions ... outline ร่างภาพ reports (online and print- outs) ... show online queries คำถาม and updates ... consider data storage, retrieval and transfer Requirements Elicitation Requirements Analysis and Negotiation Reqirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner 2005/ Software Engineering 23 Non-Functional Requirements ... show often limitations ข้อจำกัด or constraints ความยับยั้งชั่งใจ of the new system ... are „global properties of the system“  Examples:  response times  mean time to failure  security needs  access for disabled พิการ users Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner 2005/ Software Engineering 24 Requirements Validation-1  Formal technical review of the working documents of previous steps  by system engineers, users, customers and other stakeholders  looking for  errors in content or interpretation  areas where clarification (=more explanation) is needed  missing ขาดแคลน information  inconsistencies ความไม่สอดคล้องกัน  conflicting or unrealistic ซึ่งไม่แท้ requirements Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner 2005/ Software Engineering 25 Requirements Validation-2  Typical questions  Are req. stated บอกกล่าว clearly อย่าง ชัดเจน, can they be interpreted in a wrong way („misinterpreted“)?  Has the final statement of the req. been checked against the source?  Is the req. bounded in quantitative terms?  „a lot of users“ – „not more than 30 users“ Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner 2005/ Software Engineering 26 Requirements Validation-3  Which other req. relate to this req.? Is this clearly noted via a cross-reference list or other means?  Is the req. testable? If so, can we specify criteria to use the system with the req.?  Which req. seem to be implicit ซึ่งบอกเป็นนัย ?  Are req. associated with system performance, behaviour and operational characteristics ลักษณะนิสัย ? Are they clearly stated?

(c) Michael Brueckner 2005/ Software Engineering 27 Requirements Management-1  Why?  Requirements usually change during the lifecycle of the system/product  The requirements (and their changes!) must be  identified ระบุชื่อ  controlled ตรวจสอบ  tracked ติดตาม Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner 2005/ Software Engineering 28 Requirement Management-2  Identification / Example <requirement-type><requirement-number><requirement-type>:  F = functional  D = data requirement  I = interface requirement Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner 2005/ Software Engineering 29 Requirements Management-3  Make a table for keeping track of req. A01A02A03Ann R01V R02Vv R03vvV R04Vv R05V Rnnvv Requirements Specific aspects of system/product

(c) Michael Brueckner 2005/ Software Engineering 30 Problems of RE  The boundary ( ขอบเขต ) of the system is poorly described  Customers/Users specify unnecessary ที่เกิน จำเป็น technical details that confuse ( ผสมปนเป กัน ) rather than clarify  Customers/users are not completely อย่างเสร็จ สมบูรณ์ sure what is needed  Customers/users omit ( ละเลยไป ) information that they think is „obvious“ ชัดเจน  Requirements change over time