1 Text Layout Introduction (1-4) Team Skill 1 – Analyzing the problem (5-7) Team Skill 2 – Understanding User and Stakeholder Needs (8-13) Team Skill 3.

Slides:



Advertisements
Similar presentations
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Advertisements

ITIL: Service Transition
Ambiguity and Specificity Sriram Mohan/ Steve Chenoweth Chapters 23, 24 - Requirements Text 1.
Chapter 19: Network Management Business Data Communications, 4e.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Use-case Modeling.
Requirements Specification
1 Team Skill 4 - Team Skill 5 - Scope Refining the Systems Definition (Chapters of the requirements text) CSSE 371 Software Requirements and Specification.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Requirements
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
1 Lecture 1: Processes, Requirements, and Use Cases.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Systems Analysis and Design in a Changing World, 6th Edition
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Slide 1 Requirements Workflow. Slide 2 The Phases/Workflows of the Unified Process Figure 3.1 l Phase is Business context of a step Workflow is Technical.
[ §6 : 1 ] 6. Basic Methods II Overview 6.1 Models 6.2 Taxonomy 6.3 Finite State Model 6.4 State Transition Model 6.5 Dataflow Model 6.6 User Manual.
USE Case Model.
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Supplementary Specifications (Chapters 20,22 - Requirements Text) Question 1 by Steve & Chandan (Along with others in the past! - See notes, below)
Supplementary Specifications (Chapters 20,22 - Requirements Text) 1.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Developing the Supplementary Specification 1. The Role of the Supplementary Specification  Some requirements can’t easily be expressed as use cases.
UML-1 3. Capturing Requirements and Use Case Model.
GRASP: Designing Objects with Responsibilities
UML-1 8. Capturing Requirements and Use Case Model.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Technical Methods for Specifying Requirements 1. When to Use Technical Methods  If the description of the requirement is too complex for natural language.
UML - Development Process 1 Software Development Process Using UML.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
1 Week 5 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
 System Requirement Specification and System Planning.
I&C Lab Seminar Procedure for the Software Requirements Specification for Safety Critical Systems Seo Ryong Koo Korea Advanced Institute Science.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Requirements Specification
ITIL: Service Transition
On Ambiguity and Specificity
Chapter 6 유스케이스를 이용한 서비스 요구명세 Specification with Use Cases
Classifications of Software Requirements
Technical Methods for Specifying Requirements
IT316 Software Requirement Engineering
Recall The Team Skills Refining the Use cases
Recall The Team Skills Analyzing the Problem (with 5 steps)
UML Use Case Diagrams.
SOFTWARE REQUIREMENTS ENGINEERING
Developing the Supplementary Specification
Ambiguity and Specificity
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

1 Text Layout Introduction (1-4) Team Skill 1 – Analyzing the problem (5-7) Team Skill 2 – Understanding User and Stakeholder Needs (8-13) Team Skill 3 – Defining the System (14-17) Team Skill 4 – Managing Scope (18-19) Team Skill 5 – Refining the System Definition ( 20-24) Team Skill 6 – Building the Right System (25-31)

2 Software Requirements – A More Rigorous Look Chapter 20

3 Five Major Classes of Things Inputs to the system  Contents of the inputs  Details of input devices Outputs from the system  Description of output devices  Protocol and formats of information generated by the system Functions of the system  Mapping inputs to outputs and combinations Attributes of the system  Typical non-behavioral requirements (ilities) Attributes of the system environment  Ability to operate with other systems

4 Looking Deeper into Software Requirements Relationship between requirements and use cases  Use cases are just one way to express software requirements Relationship between features and requirements  Direct relationship and requirements are more specific than features What versus How  Requirements tell us what the system must do  Requirements should not tell how or contain any unnecessary design Exclude project information  Project information (schedule, CM plans, budgets, etc. ) are managed differently and should not be part of the requirements

5 Iterating Requirements and Design Requirements discovery, definition, and design decision are circular Current requirements cause us to consider selecting certain design options, Selected design options may initiate new requirements and

6 Three Types of Requirements Functional  Express how the system behaves  Inputs, outputs, and functions it provides to its users  Captured in use cases Nonfunctional  Attributes of the system or system environment  “ilities” Design constraints  Impose limits on the design of the system  Definition: restrictions on the design of a system, or the process by which a system is developed, that do not affect that external behavior of the system but that must be fulfilled to meet technical, business, or contractual obligations

7 Key Points A complete set of requirements can be determined by defining the inputs, outputs, functions, and attributes of the system plus the attributes of the system environment Requirements should exclude project-related information, such as schedules, project plans, budgets, and tests, as well as design information The requirements/design process is iterative; requirements lead to the selection of certain design options, which in turn may initiate new requirements Design constraints are restrictions on the design of the system or on the process by which a system is developed

8 Refining the Use Cases Chapter 21

9 Anatomy of a Use Case Review actors  Identify not only the initiating actors but those impacted as well Review the name  No two use cases can have the same name  The use case should begin with an action verb Refine description  Make any adjustment based on the actors or name updates Refine flow of events  Look for other alternate paths and error conditions Identify pre- and post-conditions  These conditions should be one that the users can observe

10 Extending Use Cases Used to add functionality for a later release Simplifies maintenance of the use case and allows the team to focus on the extension Extension points can be provided in the base use case to map functionality The extended use case can represent optional behavior Control Light Update Display Indicator «extends» If some of the HOLIS systems included an optional “light bar” indicator on the Control Switch, then an extended use case could extend the behavior of the base Control Light use case

11 Including Use Cases Used with patterns of user and system behavior reoccur in a variety of places Reduces maintenance, when a change occurs, it only needs to be documented in the included use case and not all the places the Common behavior takes place

12 Key Points To support development and testing activities, the use cases defined earlier in the project must be more fully elaborated The use-case model is reviewed and will often be refactored as well A well-elaborated use case also defines all alternative flows, pre- and post-conditions, and special requirements The additional use-case relationships extend and include help the team structure and maintain the use-case model

13 Developing the Supplementary Specification Chapter 22

14 Nonfunctional Requirements Usability – ease of use  Specify the required training time for a use to become minimally productive  Specify measurable task time for typical tasks or transactions Time to place a typical order  Compare usability to another commonly known system “The system shall be judged by 90% of the users to be at least as usable as the existing XYZ system”  Specify required features of online help systems, tool tips, context-sensitive help, etc.  Follow conventions and standards that have been developed for human-to-machine interface IBM’s Common User Access (CUA) standards

15 Nonfunctional Requirements Reliability  Availability – System must be available X.XXX% between hours of 7am and midnight.  Mean time between failures (MTFB) – usually specified in hours  Mean time to repair (MTTR) – how long system can be out of operation after a failure  Accuracy – what precision is required in numerical outputs  Maximum bugs, or defect rate – bugs/KLOC  Bugs per type – usually categorized in terms of minor, significant, and critical

16 Nonfunctional Requirements Performance  Response time for a transaction  Throughput: transactions per second  Capacity: number of customers or transactions the system can handle  Degradation modes: the acceptable mode of operations when the system has been degraded  Memory, storage and bandwidth

17 Nonfunctional Requirements Supportability  Ability of the software to be easily modified to accommodate enhancements and repairs  Could stipulate response time of the maintenance group from simple enhancements, moderate enhancements, and complex enhancements  Where a system is known to have future modifications…how fast these modification can be made  This could get into design constraints and start to require a DBMS or programming styles and standards like run-time binding

18 Design Constraints Three sources  Restriction of design options  Conditions imposed on the development process  Regulations and imposed standards Handling design constraints  Distinguish them from other requirements, use a tag  Include all design constraints in a special section of the requirements document  Identify the source of each design constraint  Document the rationale of each design constraint

19 Linking the Supplementary Specification to the Use Cases Define certain classes of nonfunctional requirements, then link each class to a use case For example: classes of response time may be  Class 1: 0 to 250 millisecs  Class 2: 251 to 499 milisecs  Class 3: 0.5 to 2 secs  Class 4: 2.1 to 12 secs  Class 5: 12.1 secs to 60 mins Use Case A might record  Class 2 for main flow events and Class 4 for all exceptions While Use Case B might record  Class 5

20 Supplementary Specification Template Page 268 of text

21 On Ambiguity and Specificity Chapter 23

22 Light Box Exercise OnOff Power Count EvenOdd Features Microprocessor Controlled Keeps track of whether count button has been pressed an even or odd number of times Burned-out-bulb detector flashes remaining bulb Requirements After On pushed but before Off pushed, system is termed “powered on” After Off pushed but before On pushed, system is termed “powered off”, and no lights shall be lit Since most recent On press, if Count has been pressed an odd number of times, Odd shall be lit Since most recent On press, if Count has been pressed an even number of times, Even shall be lit If either light burns out, the other light shall flash every 1 sec

23 Light Box Exercise Off On Duty Cycle A Duty Cycle B Which duty cycle does the requirement want?

24 Key Points The requirements “sweet spot” is the balance point of the greatest amount of understandability and the least amount of ambiguity A learned skill, finding the sweet spot will depend on the team members’ abilities, the application context, and the level of certainty you must provide so that your system works as intended If the risk of misunderstanding is unacceptable, more formal requirements techniques may need to be applied Always include a glossary

25 Technical Methods for Specifying Requirements Chapter 24

26 Pseudocode A “quasi” programming language A combination of the informality of natural language with the strict syntax and control structure of a programming language Should be possible for a nonprogramming person to understand The algorithm for calculating deferred-service revenue earned for any month is: Set SUM(X)=0 FOR each customer X IF customer purchased paid support AND ((Current month) >= (2 months after ship date)) AND ((Current month) <= (14 months after ship date)) THEN Sum(X)=Sum(X) + (amount customer paid)/12 END

27 Finite State Machines State transition diagram Even lit Odd litOdd lit/LOUT Even lit/LOUT Off Light burned out Count 1 sec off on

28 Finite State Machines StateOn Press Off Press Count Press Bulb Burns Out Every Second Output OffEven lit LO/Odd lit LO/Even lit Both off Even litOffOdd litLO/Even lit Even lit Odd litOffEven litLO/Odd litOdd lit Light out Even lit Off Even lit Light out Odd lit Off Odd lit

29 Decision Tree for HOLIS Emergency Sequence Has emergency sequence occurred? Is remote notification enabled? Initiate emergency message Did remote security respond? Do nothing Activate siren Do nothing Is local alarm enabled? Do nothing Yes No

30 Activity Diagrams Get req ref from doc Get text ref from doc Remove req from DB Remove req from Doc [no more] [more] [empty] [not empty] Activity diagrams are a nuisance to keep up-to-date

31 Entity-Relationship Model Description of the structure and relationships among data within the system Provides a high-level architectural view of the data Must take time to learn the notation – a disadvantage Example on page 285

32 Key Points Technical methods for specifying requirements are appropriate when the requirement description is too complex for natural language or if you cannot afford to have the specification misunderstood Technical methods include pseudocode, finite state machines, decision trees, activity diagrams, entity- relationship models, and many others