1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 10 Requirements 3.

Slides:



Advertisements
Similar presentations
System Development Life Cycle (SDLC)
Advertisements

Systems Investigation and Analysis
Systems Analysis & IT Project Management Pepper. System Life Cycle BirthDeathDevelopmentProduction.
1 Software Engineering Lecture 11 Software Testing.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 12 Requirements IV.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 10 Requirements 4.
Software Engineering 1 Provisional Revision Plan.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 8 Requirements II.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 10 Requirements 4.
Lecture 13 Revision IMS Systems Analysis and Design.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 10 Requirements 4.
Information Systems Development Lecture 2: the idea of the Life Cycle.
Fundamentals of Information Systems, Second Edition
Requirements Techniques, cont. Brief review Formal Requirements Techniques –Finite State Machines –Petri Nets.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 9 Requirements 3.
CS 5150 Software Engineering
Jan 8, Ron McFadyen1 Waterfall Spiral UP Case study UML Use Cases.
CS 501: Software Engineering Fall 2000 Lecture 5 (a) Documentation (b) Requirements Analysis.
CS 501: Software Engineering
CS CS 5150 Software Engineering Lecture 10 Requirements 3.
CS CS 5150 Software Engineering Lecture 10 Requirements 3.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 9 Requirements 3.
CS 501: Software Engineering Fall 2000 Lecture 6 (a) Requirements Analysis (continued) (b) Requirements Specification.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 14 Systems Analysis and Design: The Big Picture.
USE Case Model.
CS 4310: Software Engineering Lecture 3 Requirements and Design.
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
Requirements Analysis
Business Analysis and Essential Competencies
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 10 Techniques for Requirements Definition and Specification II.
Software Engineering Management Lecture 1 The Software Process.
CS CS 5150 Software Engineering Lecture 10 Requirements 3.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 9 Techniques for Requirements Definition and Specification I.
1-1 System Development Process System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
CS206 System Analysis and Design Note 1 By ChangYu 1 Course Information Lecturer NameCHANG YU Web sitewww.chuhai.edu.hk/changyu/
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Software Development Life Cycle by A.Surasit Samaisut Copyrights : All Rights Reserved.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 3 Feasibility Studies.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Project Deliverables CEN Engineering of Software 2.
Systems Development Life Cycle
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
SWE 513: Software Engineering
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 9 Requirements 3.
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
CS 501: Software Engineering Fall 1999 Lecture 4 (a) Documentation (b) Requirements Analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CS 5150 Software Engineering Lecture 9 Requirements 3.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 11 Requirements III.
CS 501: Software Engineering Fall 1999 Lecture 5 (a) Requirements Analysis (continued) (b) Requirements Specification.
Software Design and Development Development Methodoligies Computing Science.
Software Engineering Management
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Systems Planning and Analysis
Database Development Cycle
COSC 4506/ITEC 3506 Software Engineering
PPT4: Requirement analysis
Presentation transcript:

1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 10 Requirements 3

2 CS 501 Spring 2008 Course Administration Feasibility Study Everybody should have receive comments. Teaching Assistants have been assigned. Remember to send your weekly reports. Quiz 1 Uncollected answer books are at the reception at 301 College Avenue.

3 CS 501 Spring 2008 Course Administration Assignment 2, First Milestone, March 3-6 Read information on the Assignments Web page Reserve time for your presentation. See the home page of the Web site. i Client must be present ii Not all team members must be present, but each team member must make a presentation at least once during the semester iiiTry to find a time when the TA can be present

4 CS 501 Spring 2008 Course Administration Assignment 2, First Milestone, March 3-6 One third of the total work from the feasibility study. If you are following an iterative process, this is a major milestone when you can report visible progress to your client. Typically, this will include a first set of requirements, a provisional design and a prototype that can be used to demonstrate the functionality of the system, including user interface design. If you are following a modified waterfall process, this progress report should include completion of the requirements phase and perhaps the first steps in the design.

5 CS 501 Spring 2008 Software Development Principles and Practices Software development Software development is a craft. Software developers have a variety of tools that can be applied in different situations. Part of the art of software development is to select the appropriate tool for a given implementation

6 CS 501 Spring 2008 Modeling Techniques for Requirements Analysis and Definition The craft of requirements analysis and specification is to select the appropriate tool for the particular task. A variety of tools and techniques. Many are familiar from other courses. There is no correct technique that fits all situations. As you build understanding of the requirements through scenarios and use cases, use modeling tools to specify requirements. The models provide a bridge between the client's understanding and the developers.

7 CS 501 Spring 2008 Decision Table: Bad Example University Admission Decision Note that the rules are too vague. High SATTFFFFF High grades-TFFFF Sports--TTFF Recommendations--TFTF RejectXXX AcceptXXX

8 CS 501 Spring 2008 Decision Table: Good Example University Admission Decision Note that the rules are now specific and testable. SAT > STFFFFF GPA > G-TFFFF Athletics code =  --TTFF Recommendations > A---TFTF Send rejection letterXXX Send acceptance letterXXX

9 CS 501 Spring 2008 Data-Flow Models External entities Processing steps Data stores or sources Data flows An informal modeling technique to show the flow of data through a system.

10 CS 501 Spring 2008 Data-Flow Example: University Admissions (first try) Applicant Application form Receive application Completed application Evaluate Rejection Acceptance Shows the flow, but where is the data stored?

11 CS 501 Spring 2008 Data-Flow Example: Assemble Application Stage Applicant Application form Receive Completed application Supporting information Pending database Acknowledgment Begin evaluation Applicant database Evaluation request AND Acknowledgment Does this model cover all applications? Are there special cases?

12 CS 501 Spring 2008 Data-Flow Example: Process Completed Application Stage Rejection Evaluation Applicant database Evaluation request Acceptance Financial aid Offer Special request The data-flow diagram will need specification of the decision-making process.

13 CS 501 Spring 2008 Procedural Models: Flowchart Operation Decision Manual operation Report An informal modeling technique to show the decisions and paths that data takes through a system.

14 CS 501 Spring 2008 Flowchart: University Admissions Form received New? Database record T Notify student FUpdate database Complete? Notify student T F Evaluate

15 CS 501 Spring 2008 Procedural Models: Pseudo-code Example: Check project plan check_plan (report) if report (date_time) > due_date_time then error (too_late) if report (client) = none then error (no_client) if report (team) max_team then error (bad_team) if error() = none then comments = read_report (report) return (comments (text), comments (grade)) else return error() An informal modeling technique to show the logic behind part of a system.

16 CS 501 Spring 2008 Transition Diagrams A system is modeled as a set of states, S i A transition is a change from one state to another. The occurrence of a condition, Ci, causes the transition from one state to another Transition function: f (S i, Cj) = S k Example S1S1 S2S2 S3S

17 CS 501 Spring 2008 Transition Diagram for CS 501 Web Site home syllabus projects books assign- ments quizzes integrity about slidessurveys concepts exam- ples

18 CS 501 Spring 2008 Therapy Control Consol: Finite State Machine Example: Radiation Therapy Control Console You are developing requirements for the operator's control console. In a client interview, the client describes the dangers inherent in using the machine. The operator must follow a strict procedure before the machine is ready to run. You use a finite state machine to specify the procedures. This shows the client that you understand the requirements and specifies the procedures for the developers.

19 CS 501 Spring 2008 Therapy Control Consol: Scenario "The set up is carried out before the patient is made ready. The operator selects the patient information from a database. This provides a list of radiation fields that are approved for this patient. The operator selects the first field. This completes the set up. "The patient is now made ready. The lock is taken off the machine and the doses with this field are applied. The operator then returns to the field selection and chooses another field."

20 CS 501 Spring 2008 State Transition Diagram Patients Fields SetupReady Beam on Enter Start Stop Select field Select patient (lock on) (lock off) Discuss each state and transition with the client.

21 CS 501 Spring 2008 Therapy Control Consol: State Transition Table Select Patient Select Field Enter lock off StartStop lock on Patients Fields Setup Ready Beam on Fields Patients Setup Ready Beam on Ready

22 CS 501 Spring 2008 Entity-Relation Model A requirements and design methodology for relational databases A database of entities and relations Tools for displaying and manipulating entity-relation diagrams Tools for manipulating the database (e.g., as input to database design) Warning: There is much confusion about definitions and notation

23 CS 501 Spring 2008 Entity-Relation Diagram An entity A relation between entities An entity or relation attribute An inheritance relation

24 CS 501 Spring 2008 Example: CS 501 Project Student CS501 Student Major Project 5 to 7 1 Member of Client team member Client 1:n Tech contact 0:n 0:1

25 CS 501 Spring 2008 Example: Schema for Web Data CS 501 Spring 2005

26 CS 501 Spring 2008 Data Dictionaries A data dictionary is a list of names used by the system Name (e.g., "start_date") Brief definition (e.g., what is "date") What is it? (e.g., integer, relation) Where is it used (e.g., source, used by, etc.) May be combined with a glossary As the system is implemented, the data dictionary in the requirements is input to the system data dictionary, which is a formal part of the system specification.

27 CS 501 Spring 2008 Petri Nets A Petri Net models parallelism A S1S1 SmSm S S A Event 1 Event n Event A Event 1 Event n.. f(A; E) S f(A; E 1,..,E n ) S f(A; E 1,..,E n ) S 1,..,S m

28 CS 501 Spring 2008 Prototyping Requirements Rapid prototyping is the most comprehensive of all modeling methods A method for specifying requirements by building a system that demonstrates the functionality of key parts of the required system Particularly valuable for user interfaces

29 CS 501 Spring 2008 A Note on Object Models This course teaches object models as a tool for design. Some people recommend object models for requirements definition, but it is difficult to use them without constraining the system design. Flow charts and finite state machines are supported by UML as design models, but can also be used for requirements. *