CS 5150 1 CS 5150 Software Engineering Lecture 10 Requirements 3.

Slides:



Advertisements
Similar presentations
Systems Investigation and Analysis
Advertisements

Systems Analysis & IT Project Management Pepper. System Life Cycle BirthDeathDevelopmentProduction.
CS 501: Software Engineering Fall 2000 Lecture 10 Formal Specification.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
Software Engineering COMP 201
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 10 Requirements 3.
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 2005 CS 501: Software Engineering Lecture 8 Requirements II.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 10 Requirements 4.
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.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Fundamentals of Information Systems, Second Edition
1 IS 4420 Database Fundamentals Chapter 2: Database Development Process Leon Chen.
Computers: Tools for an Information Age
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 9 Requirements 3.
CS 501: Software Engineering Fall 2000 Lecture 5 (a) Documentation (b) Requirements Analysis.
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.
Chapter 12 Information Systems. 2 Chapter Goals Define the role of general information systems Explain how spreadsheets are organized Create spreadsheets.
Page 1 ISMT E-120 Desktop Applications for Managers Introduction to Microsoft Access.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 14 Systems Analysis and Design: The Big Picture.
USE Case Model.
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
CS 4310: Software Engineering Lecture 3 Requirements and Design.
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
Chapter 9 Describing Process Specifications and Structured Decisions
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.
Copyright Prentice Hall, Inc. 1 Computers: Information Technology in Perspective, 11e Larry Long and Nancy Long Chapter 11 Developing Business Information.
Software Engineering Management Lecture 1 The Software Process.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 9 Techniques for Requirements Definition and Specification I.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
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.
Computers Are Your Future Tenth Edition Chapter 13: Systems Analysis & Design Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall1.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
CPSC 203. Use Case Diagram  A description of a system’s behavior as it responds to a request that originates from outside of that system. Specifies the.
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.
CISB113 Fundamentals of Information Systems IS Development.
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.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 9 Requirements 3.
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
Lecture 91 Introduction to Data Analysis and Logic Specification Objectives l Draw an entity-relationship diagram, and explain the types of entity relationships.
CS 501: Software Engineering Fall 1999 Lecture 4 (a) Documentation (b) Requirements Analysis.
UML - Development Process 1 Software Development Process Using UML.
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.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad , Monday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
An Overview of Requirements Engineering Tools and Methodologies*
Systems Planning and Analysis
CS 5150 Software Engineering
Database Development Cycle
COSC 4506/ITEC 3506 Software Engineering
PPT4: Requirement analysis
CS 501: Software Engineering Fall 1999
Presentation transcript:

CS CS 5150 Software Engineering Lecture 10 Requirements 3

CS Course Administration Test 2 Monday October 3, Philips Hall 101 at 7:30 p.m. Covers all material in Lectures 1 to 11. Presentations Sign up with Corinne Russell for your presentations. She will be out next week. Please copy Raghu and me on messages about the presentations.

CS Course Administration Assignment 2, Milestone 2, October Read information on the Assignments Web page i Client(s) 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 iiiReport due Friday at 11:00 p.m. ivSurvey due Friday at 11:00 p.m.

CS Course Administration Assignment 2, Milestone 2, October One third of the total work from the feasibility study. If you are following an iterative or incremental process, this is a major milestone when you report visible progress to your client. This will include at least a first set of requirements, and design, including user interface design. It might be the end of the first iteration or sprint. If you are following a modified waterfall process, this milestone should include completion of the requirements phase and perhaps the first steps in the design. Include a review of progress to date against your plan.

CS 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

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

CS Modeling Tools: 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.

CS Modeling Tools: Data-Flow Model Example: University Admissions (first attempt) Applicant Application form Receive application Completed application Evaluate Rejection Acceptance Shows the flow, but where is the data stored?

CS Modeling Tools: Data-Flow Model 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?

CS Modeling Tools: Data-Flow Model Example: Process Completed Application Stage Rejection Evaluation Applicant database Evaluation request Acceptance Financial aid Offer Special request The requirements will need specification of the decision- making process.

CS Modeling Tools: Decision Table University Admission Decision Note that the rules are specific and testable. SAT > STFFFFF GPA > G-TFFFF Athletics code =  --TTFF Recommendations > A---TFTF Send rejection letterXXX Send acceptance letterXXX

CS Modeling Tools: Flowchart Operation Decision Manual operation Report An informal modeling technique to show the decisions and paths that data takes through a system.

CS Modeling Tools: Flowchart Example: University Admissions Form received New applicant? New database record T Notify student FUpdate database Application complete? Notify student T F Evaluate

CS Modeling Tools: 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.

CS Modeling Tools: 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, C i, causes the transition from one state to another Transition function: f (S i, C j ) = S k Example S1S1 S2S2 S3S

CS Modeling Tools: Finite State Machine Example: Therapy Control Consol Example: Radiation Therapy Control Console You are developing requirements for the operator's control console. In an interview, the client describes the procedures that the operator must follow when operating the machine. 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.

CS Modeling Tools: Finite State Machine 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."

CS Modeling Tools: Finite State Machine 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.

CS Modeling Tools: Finite State Machine 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 This table can be used for requirements definition, program design, and acceptance testing.

CS Transition Diagram for User Interfaces Example: CS 5150 Web Site (part) home syllabus projects books assign- ments tests integrity about slidessurveys concepts examples scripts

CS Modeling Tools: 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) Entity-relationship models can be used both for requirements specification and for the design specification.

CS Modeling Tools: Entity-Relation Diagram An entity (noun) A relation between entities (verb) An entity or relation attribute Note: There are various notations used for entity-relationship diagrams. This is the notation used by Chen (1976).

CS Modeling Tools: Entity Relationship Diagram Example: CS 5150 Project CS 5150 Student Major Project 5 to 7 1 IsMember Client team member IsClient 1 IsContact 0:n 1 1

CS Entity Relationship Diagram as a Design Tool Example: Database Schema for Web Data Notation: Each table represents an entity Each arrow represents a relation

CS Modeling Tools: Petri Nets A Petri Net models parallelism A S1S1 SmSm S S A Event 1 Event n Event A Event 1 Event n...

CS Modeling Tools: 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

CS Requirements Definition: 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 developed, the data dictionary in the requirements is the basis of the system data dictionary, which is part of the system specification.

CS A Note on Class and Object Models This course teaches class and object models as a tool for design. Some people recommend class and 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 are equally useful for requirements. *