Requirements Engineering

Slides:



Advertisements
Similar presentations
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Advertisements

Analysis Modeling.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Systems Analysis and Design 8th Edition
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
System Modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers. Different.
Object-Oriented Analysis and Design
Department of Computing
Systems Analysis and Design in a Changing World, Fourth Edition
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 8 Analysis Modeling
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Unified Modeling Language
Chapter 7: The Object-Oriented Approach to Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Fundamentals of Software Engineering
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Software Requirements Part 2 Requirements Engineering Modeling.
Systems Analysis and Design in a Changing World, Fifth Edition
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
Chapter 7 System models.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Slide 1 System models. Slide 2 Objectives l To explain why the context of a system should be modelled as part of the RE process l To describe behavioural.
System models l Abstract descriptions of systems whose requirements are being analysed.
Pertemuan 19 PEMODELAN SISTEM Matakuliah: D0174/ Pemodelan Sistem dan Simulasi Tahun: Tahun 2009.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Systems Analysis & Design 7 th Edition Chapter 5.
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Analysis Modeling CpSc 372: Introduction to Software Engineering
Systems Analysis and Design in a Changing World, Fourth Edition
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Building analysis model  Analysis modeling uses a combination of text and diagrammatic forms to depict requirements for data function and behavior in.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 8.1 Requirements Analysis Rules of Thumb Rules of Thumb Models should focus on requirements that are visible within the problem or business domain. The.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Systems Analysis and Design in a Changing World, Fourth Edition
Object-oriented and Structured System Models
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
UML Diagrams Jung Woo.
Business System Development
Chapter 9 Requirements Modeling: Scenario-Based Methods
CIS 375 Bruce R. Maxim UM-Dearborn
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

Requirements Engineering (Part 2)

Objectives Identify guidelines of creating requirements analysis models. Explain structured and object-oriented analysis approaches to requirements modelling. Identify three classifications of modelling elements based on object-oriented approach. Introduce use case diagram, activity diagram, class diagram, state diagram, and sequence diagram. Badariah Solemon 2010

Overview Activity Action Task Communication Project Inception Requirements Engineering Req. Elicitation Req. Analysis & Negotiation Req. Specification Req. Verification and Validation Req. Management Planning Modeling Requirements Modeling Design Modeling Context Modeling Technical Modeling Construction Deployment Badariah Solemon 2010

Requirements/Analysis Model A graphical representations of business processes, the problems to be solved, and the new proposed product (software). Objectives: To describe software requirements. To establish a basis for the creation of a software design. To define a set of requirements that can be validated once the software is built. Bridges the gap between a software specification and a software design. Software specification Design Model Analysis Model Badariah Solemon 2010

Rules of Thumb Suggested by Arlow and Neustadt in Pressman (2009): The model should focus on requirements that are visible within the problem or business domain. The level of abstraction should be relatively high. Each element of the analysis model should add to an overall understanding of software requirements and provide insight into the information domain, function and behavior of the system. Delay consideration of infrastructure and other non-functional models until design. Minimize coupling throughout the system. Be sure that the analysis model provides value to all stakeholders. Keep the model as simple as possible especially if extra diagrams do not provide new information Badariah Solemon 2010

Requirements Modeling Principles Principle #1. The information domain of a problem must be represented and understood. Principle #2. The functions that the software performs must be defined. Principle #3. The behavior of the software (as a consequence of external events) must be represented. Principle #4. The models that depict information, function, and behavior must be partitioned in a manner that uncovers detail in a layered (or hierarchical) fashion. Principle #5. The analysis task should move from essential information toward implementation detail. *Recap from chapter 4 Badariah Solemon 2010

Domain Analysis According to Donald Firesmith in Pressman (2009): “ Software domain analysis is the identification, analysis, and specification of common requirements from a specific application domain, typically for reuse on multiple projects within that application domain . . . [Object-oriented domain analysis is] the identification, analysis, and specification of common, reusable capabilities within a specific application domain, in terms of common objects, classes, subassemblies, and frameworks . . .” Badariah Solemon 2010

What is Domain Analysis? 900724 An on-going SE activity that is not connected to any software project (by domain analyst) Involves: Defining the domain to be investigated. Collecting a representative sample of applications in the domain. Analyzing each application in the sample. Developing an analysis model for the objects. Badariah Solemon 2010

Requirements Analysis Modeling Categorized into two main levels of details: Context (conceptual-level) modeling* High-level conceptual descriptions of a product and its environment. Must be supplemented with detailed-level models. E.g.: Architectural model Usually usable to non-technical people and decision-makers Technical (detailed-level) modeling * Module 4 Badariah Solemon 2010

Approaches for Technical Modeling Structured Analysis Considers data and the processes that transform the data as separate entities. Includes data models, data flow models and behavioral models E.g.: ERD, DFD, state machine model Object-oriented Analysis model objects, classes, and the relationships and behavior associated with them. The industry standard for the OO modeling is known as Unified Modelling Language (UML) specification and the current available version is 2.2 (OMG, 2009). E.g.: use-case diagrams, activity diagrams (swim-lane diagram), sequence diagram, class diagram, state diagram, and etc. * Relate with generic modeling elements in Part 1. Badariah Solemon 2010

Flow-oriented Modeling According to Pressman (2009): Represents how data objects are transformed as they move through the system. data flow diagram (DFD) is the diagrammatic form that is used. Considered by many to be an “old school” approach, but continues to provide a view of the system that is unique—it should be used to supplement other analysis model elements Badariah Solemon 2010

OO Analysis Approach Need to first understand OO concepts, which include objects, classes, attributes, methods, sub-class, super-class, and etc. Classifications of OO modeling elements (Pressman, 2005): Scenario-based to show how end-users interact with the system e.g.: use-case diagram, activity diagram, swim-lane diagram Badariah Solemon 2010

OO Analysis Approach (cnt’d) Class-based to specify classes and objects, attributes, operations, and associations and dependencies. e.g.: class diagram, class responsibility collaborator (CRC) model, collaboration diagram. Behavioral to model how the system reacts to external event . e.g.: event-driven use case, state diagram, sequence diagram. Badariah Solemon 2010

Scenario-based Modeling: Use Case Ivar Jacobson: “[Use-cases] are simply an aid to defining what exists outside the system (actors) and what should be performed by the system (use-cases).” Elements: Actor a ‘stick figure’ that represent roles of people, other system (database, servers, and legacy systems) or equipment that interact with use cases in the system. Badariah Solemon 2010

Scenario-based Modeling: Use Case (cnt’d) an oval shape labeled with the use case name (inside or outside the oval) that represent a complete unit of system functionality. A use case may be made up of a set of scenario. Each scenario describes steps that consist of an interaction between the actors and the system. Just like DFDs, you can continue to add detail by breaking the uses cases into more use cases. Badariah Solemon 2010

Use Case: Example #1 Pressman (2009): Use case diagram for SafeHome System Badariah Solemon 2010

Airline Reservation System Use Case: Example #2 Airline Reservation System Check In Passenger Add New Reservation Cancel Reservation Airline Reservation System Badariah Solemon 2010

Relationships of Use Cases Uses an arrow drawn from use case A to use case B to indicate that in the process of completing functionality A, functionality B will be performed too. For example, in the Airline Reservation System, the ‘Add New Reservation’ use case uses ‘Check Space Availability’ and ‘Record Passenger Information’ use cases. Extends an arrow drawn from use case A to use case B to indicate that the use case A is a special way of doing use case B and must be done to complete use case B. For example, in the Airline Reservation System, there are two ways to assign a seat either by assigning a window seat or by assigning an aisle seat. Badariah Solemon 2010

Relationships of Use Cases: Example #1 Airline Reservation System Check In Passenger Add New Reservation Cancel Reservation Weigh Luggage Assign Seat Check Seat Availability Record Passenger Information Assign Window Seat Assign Aisle Seat Badariah Solemon 2010

Scenario-based Modeling: Activity Diagram Supplements the use case by providing a graphical representation of the flow of interaction within a specific scenario. Activity diagrams and statechart diagrams are related. While a statechart diagram focuses attention on an object undergoing a process (or on a process as an object), an activity diagram focuses on the flow of activities involved in a single process. The activity diagram shows the how those activities depend on one another. UML’s basic symbols: Symbol Purpose To represent an activity To represent a flow To represent branching decisions To indicate all parallel activities within the system. Badariah Solemon 2010

Activity Diagram: Example #1 Pressman (2009), pp 162 Badariah Solemon 2010

Scenario-based Modeling: Swimlane Diagram A variation of activity diagram. To represent the flow of activities described by the use-case and at the same time indicate which actor (if there are multiple actors involved in a specific use-case) or analysis class has responsibility for the action described by an activity rectangle. Badariah Solemon 2010

Swimlane: Example #1 Pressman (2009), pp 163 Badariah Solemon 2010

Swimlane: Example #2 (http://edn.embarcadero.com/article/31863 Badariah Solemon 2010

Class-based Modeling: Class Diagram Depicts a collection of system’s classes, their attributes, and the relationships between the classes. A class is an object applicable to a system. You can think of an object as any person, thing, place, concept, event, and etc. Objects have attributes (information stored about and object or variables for OO programming) and methods or operations (things an object perform). Badariah Solemon 2010

Class Diagram: Example #1 To model a class, use a rectangle with three sections: name of the class (top) list of attributes (middle) methods (bottom). Example: a Student class which has attributes StudentID, Firstname, Lastname, Email, and ContactNumber. Student perform operations such as RegisterCourse, DropCourse, and PrintTranscript. Student StudentID Firstname Lastname Email ContactNumber RegisterCourse() DropCourse() PrintTranscript() Name of class List of attributes List of methods Badariah Solemon 2010

Class Diagram: with Several Classes Need to show how they are related to each other. Two basic types of relationships between classes: Associations This relationship exists when two classes are related to each other in any way You may need to analyse further this relationship by identifying multiplicity of the association because there is possibility that a students might register for none, one, or several courses. Among the potential multiplicity indicators: (next page) There exist other types of associations such as association class, aggregation (basic and composition), reflexive associations, and realisation. For further explanation, refer to OMG (2009). Badariah Solemon 2010

Class Diagram: with Several Classes (cnt’d) Indicator Meaning 0..1 Zero or one 1 One only 0..* Zero or more 1..* One or more N Only n (where n > 1) 0..n Zero to n (where n > 1) 1..n One to n (where n > 1) Example: Registered 0..* attended by Course CourseCode CourseName CreditHours Fees Student StudentID Firstname Lastname Email ContactNumber RegisterCourse() DropCourse() PrintTranscript() Badariah Solemon 2010

Class Diagram: with Several Classes (cnt’d) Inheritance/generalisation Different classes usually share the same attributes and/or methods. To avoid repeating the same attributes and/or methods, you need to take advantage of the inheritance (also known as generalisation) mechanism. When class X inherits from class Y, you may say that X is the subclass of Y and Y is the superclass of X. UML’s notation for inheritance is a line with upward arrowhead pointing from the subclass to the superclass. Badariah Solemon 2010

Class Diagram: with Several Classes (cnt’d) Postgraduate ProjectTitle ThesisSubmitDate Postgraduate ProjectTitle ThesisSubmitDate Postgraduate ProjectTitle ThesisSubmitDate Class Diagram: with Several Classes (cnt’d) Example: * ATM Case Study Course CourseCode CourseName CreditHours Fees Student StudentID Firstname Lastname Email ContactNumber RegisterCourse() DropCourse() PrintTranscript() Postgraduate   ProjectTitle ThesisSubmitDate Undergraduate CreditLimit Registered 0..* attended by Badariah Solemon 2010

Class Diagram: Example Postgraduate ProjectTitle ThesisSubmitDate Postgraduate ProjectTitle ThesisSubmitDate Postgraduate ProjectTitle ThesisSubmitDate Class Diagram: Example Models a customer order from a retail catalog (http://edn.embarcadero.com/article/31863) Badariah Solemon 2010

Behavioral Modeling Make a list of the different states of a system (How does the system behave?) Indicate how the system makes a transition from one state to another (How does the system change state?) indicate event indicate action Draw a state diagram (also known as statechart diagram) or a sequence diagram Badariah Solemon 2010

The States of a System State —a set of observable circum-stances that characterizes the behavior of a system at a given time State transition—the movement from one state to another Event—an occurrence that causes the system to exhibit some predictable form of behavior Action—process that occurs as a consequence of making a transition Badariah Solemon 2010

State Diagram Notations: States are rounded rectangles. Transitions are arrows from one state to another. Events or conditions that trigger transitions are written beside the arrows The initial state (black circle) is a dummy to start the action. Final states (2 circles with inner black circle ) are also dummy states that terminate the action. The action that occurs as a result of an event or condition is expressed in the form /action. E.g.: Cancel/Quit Badariah Solemon 2010

State Diagram: Example #1 http://edn.embarcadero.com/article/31863 Badariah Solemon 2010

Statechart Diagram: Example #2 State Diagram for the ControlPanel Class (Pressman, 2009) Badariah Solemon 2010

Behavioral Modeling: Sequence Diagram An interaction diagram that details how operations are carried out -- what messages are sent and when. Are organized according to time. The time progresses as you go down the page. The objects involved in the operation are listed from left to right according to when they take part in the message sequence. Badariah Solemon 2010

Sequence Diagram Each vertical dotted line is a lifeline, representing the time that an object exists. Each arrow is a message call. An arrow goes from the sender to the top of the activation bar of the message on the receiver's lifeline. The activation bar represents the duration of execution of the message. The diagram has a clarifying note, which is text inside a dog-eared rectangle Badariah Solemon 2010

Sequence Diagram: Example #1 Pressman (2009) Badariah Solemon 2010

Sequence Diagram: Example #2 A sequence diagram for making a hotel reservation http://edn.embarcadero.com/article/31863 Badariah Solemon 2010

Summary You have been introduced to: Guidelines of creating requirements analysis models. Two approaches to requirements modelling: structured and object-oriented analysis approaches. Three classifications of modelling elements based on object-oriented approach. Overview of several OO modeling elements such as use case diagram, activity diagram, class diagram, state diagram, and sequence diagram. Badariah Solemon 2010