Organizing the Requirements Information 1. Need for Organizing Requirements  Many stakeholders are involved in most projects.  They must reach agreement.

Slides:



Advertisements
Similar presentations
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Advertisements

Use-case Modeling.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Requirements Specification
The Architecture Design Process
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Requirements Engineering Process – 1
The Vision Document 1. Importance of a Vision Document  It describes the application in general terms, including descriptions of the target market, the.
Requirements Engineering
What is Software Architecture?
System Design Chapter 8. Objectives  Understand the verification and validation of the analysis models.  Understand the transition from analysis to.
S/W Project Management
UML - Development Process 1 Software Development Process Using UML (2)
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Software Engineering CS B Prof. George Heineman.
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
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.
An Introduction to Software Architecture
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
INFO 637Lecture #51 Software Engineering Process II Defining Requirements INFO 637 Glenn Booker.
Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed., Addison-Wesley, 2006 and on the Ch11 PowerPoint.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Lecture 7: Requirements Engineering
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
Modeling system requirements. Purpose of Models Models help an analyst clarify and refine a design. Models help simplify the complexity of information.
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.
Systems Analysis and Design in a Changing World, Fourth Edition
System Context and Domain Analysis Abbas Rasoolzadegan.
Prototyping By: Michael McBee & Shere Stewart. Prototyping What is Prototyping? It is an iterative process involving analysts and users where a model.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
CS 8532: Advanced Software Engineering Dr. Hisham Haddad Overview of Object-Oriented Design Highlights of OOD Concepts, Components, and Process.
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
1 Chapter 18 Analysis Modeling for WebApps Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Human Computer Interaction
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Prof. Hany H. Ammar, CSEE, WVU, and
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CS223: Software Engineering Lecture 13: Software Architecture.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Software Engineering Lecture 10: System Engineering.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Use Case, Component and Deployment Diagrams University of Sunderland.
Basic Characteristics of Object-Oriented Systems
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
 System Requirement Specification and System Planning.
Software Engineering Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
The Process of Object Modeling
Software Requirements analysis & specifications
Unified Modeling Language
CRC Modeling (class-relationship-collaborator)
Requirements Engineering Process – 1
Presentation transcript:

Organizing the Requirements Information 1

Need for Organizing Requirements  Many stakeholders are involved in most projects.  They must reach agreement about the system being built.  Requirements must be organized so they can be reviewed and approved.  Traditionally, Requirements Specification documents have been built to capture and communicate this information. 2

Problems with a Traditional Requirements Document  The system may be very complex, and the volume of documentation demands both organizational and interactive access techniques.  The system of interest may be a member of a family of related products. No one document can contain all the specifications.  The system being constructed may be a subsystem of a larger system and may satisfy only a subset of all requirements identified. 3

Problems with a Traditional Requirements Document (Cont’d)  Marketing and business goals need to be separated from the detailed product requirements.  Other requirements, perhaps regulatory or legal, may also be imposed on the system, and these requirements may be documented elsewhere. 4

Organizing Requirements of Complex H/W and S/W Systems  Complex systems can only be visualized and built as systems of subsystems  A system-level requirements set is created that describes the system with out reference to the subsystems.  Systems Engineering refines the system-level description into a system of subsystems.  The resulting system architecture describes this partitioning and the interfaces among the systems. 5

A System of Subsystems The System Subsystem ASubsystem B Subsystem A-1Subsystem A-2 Subsystem C Subsystem C-1Subsystem C-2 6

The Systems Engineering Process  After developing requirements for the system as a whole, requirements are developed for each subsystem.  The external behavior of each subsystem should be described completely without reference to any of its subsystems.  This process creates new classes of requirements, i.e., the interfaces among the subsystems become key requirements. 7

The Systems Engineering Process (Cont’d)  The process is repeated, breaking down each of the subsystems into subsystems and developing requirements for each.  The result is a hierarchy of requirements.  At every level requirements form the previous level are allocated to the appropriate lower-level system. 8

A Hierarchy of Requirements Overall sytem Requirements System requirements for Subsystem A System requirements for Subsystem B System requirements for Subsystem A-1 System requirements for Subsystem A-2 System requirements for Subsystem C System requirements for Subsystem C-1 System requirements for Subsystem C-2 9

Organizing Requirements for Product Families  Companies often develop families of related products.  Much of the functionality may be common among products in the family.  Requirements can be organized based on the relationship between the products. 10

Approach for Organizing Requirements  Develop a product-family Vision document that describes the ways in which the products are intended to work together.  Develop a set of use cases showing how the users will interact with various applications running together. 11

Approach for Organizing Requirements (Cont’d)  Develop a common software requirements set that defines the specific requirements for shared functionality, e.g., menu structures, common GUIs, and communications protocols.  For each product in the family, develop a Vision document, supplementary specification, and a use-case model that defines its specific functionality. 12

“Future” Requirements  During the requirements elicitation process requirements may have been identified which are deemed appropriate for a subsequent release of the product.  On the one hand including these in the requirements set might cause confusion.  On the other hand we don’t want to forget about them. 13

“Future” Requirements (Cont’d)  Furthermore, system designers might design differently if they know about future requirements.  It’s probably best to record both present and future requirements but clearly identify which are planned for the current release and which are not. 14