Software Design by Dr. Eitan Hadar Web:

Slides:



Advertisements
Similar presentations
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Advertisements

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
1-1 ROPES Rapid Object-Oriented Process for Embedded Systems.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
Use-case Modeling.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Solving the Problem Analysis & Design.
Unified Modeling (Part I) Overview of UML & Modeling
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Use Case Modeling.
Object Oriented Analysis and Design Using the UML
An Introduction to Rational Rose Real-Time
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 7: The Object-Oriented Approach to Requirements
USE Case Model.
Introduction To System Analysis and design
UML - Development Process 1 Software Development Process Using UML (2)
Software Engineering CS B Prof. George Heineman.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Business Modeling : basic concepts Extracted from Rational UML Profile for business modeling.mht.
Chapter 7 Structuring System Process Requirements
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.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Approaching a Problem Where do we start? How do we proceed?
For accurate communication, since a project can have several participants, each from different background. Represent a given aspect of the system We will.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
UML-1 3. Capturing Requirements and Use Case Model.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Introduction to OOAD and the UML
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Use Case Textual Analysis
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Object and Class Structuring Chapter 9 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Application Analysis. Application Interaction Model The purpose of analysis is to understand the problem so.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Systems Analysis and Design in a Changing World, Fourth Edition
Use Cases -Use Case Diagram
Welcome to M301 P2 Software Systems & their Development
Architecture Concept Documents
Unified Modeling Language
IMPORTANT NOTICE TO STUDENTS:
Use Cases & Use Case Diagrams
Object oriented analysis and design
Engineering Quality Software
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Software Development Process Using UML Recap
Presentation transcript:

Software Design by Dr. Eitan Hadar Web:

Introduction to Requirements Analysis

Software Design - Dr Eitan Hadar (c) 3 Requirements

Software Design - Dr Eitan Hadar (c) 4 Requirements Analysis  The analyst can sit with the customer and ask probing questions, such as these: ­What are the primary functions of the system? ­What are the secondary functions of the system? ­Why is this system being built? What is it replacing and why?  The analyst must then identify the following for each use case: ­The role the actors and system play in each scenario ­The interactions (flows) necessary to complete the scenario ­The sequence of events and data needed to realize the scenario ­The variations on the scenario that are possible (other related scenarios)

Software Design - Dr Eitan Hadar (c) 5 OOP and Changes to User Requirements  Some characteristics of requirements changes: ­Introduction of new entities (similar to existing ones) ­Changes to the relationships (is-a / has-a) between entities ­Different interactions ­… ­But, Very little change to the data model  Q: What type of changes is supported by OOP?

Software Design - Dr Eitan Hadar (c) 6 OOP vs older paradigms  Traditional paradigm: ­Identify the algorithm (functions) required to solve the problem:  Functional decomposition  Control flow ­Identify the data structures needed by the functions.  Object-Oriented paradigm: ­Identify the abstract objects (data) that represent the problem domain. ­Identify the abstract operations supported by the objects, i.e., define the interface to the objects. ­The problem solution is a sequence of calls to objects. Data Code Verbs = Procedures & Functions Nouns = Data Verbs Supported by Nouns= Function-oriented Nouns Supported by Verbs= Object-oriented Verbs = Procedures & Functions Nouns = Data Verbs Supported by Nouns= Function-oriented Nouns Supported by Verbs= Object-oriented

Software Design - Dr Eitan Hadar (c) 7 Use Case Requirement model  Use Case Model: ­Requirement gathering tool ­Define roles of users ­Ask what each user wants to accomplish by using the system (The “Goal”) ­Write it in a the user’s language ­Users are at the center  Deals with problem-space interfaces

Software Design - Dr Eitan Hadar (c) 8 Create Use Case Model 1.Identify Use Cases and associated Actors 2.Decompose UC’s with “generalization”, “uses” and “extends” relations  Notice: ­use cases can initiate themselves (usually based on the passage of time) and often interact with many actors

Software Design - Dr Eitan Hadar (c) 9 Use Case as a Driving Force! (1/3) Problem: How to trace down requirements to Implementation (minimum defects) Solution: UML Use case dependency trace!

Software Design - Dr Eitan Hadar (c) 10 Use Case as a Driving Force! (2/3)  Analysis ­Suggest large-scale partitioning of the domain ­Provide structuring of analysis objects ­Clarify system and object responsibilities ­Capture and clarify new features as they are added during development ­Validate analysis model  Design ­Validate the elaboration of analysis models in the presence of design objects

Software Design - Dr Eitan Hadar (c) 11 Use Case as a Driving Force! (3/3)  Coding ­Clarify purpose and role of classes for coders ­Focus coding efforts  Testing ­Provide primary and secondary test scenarios for system validation  Deployment ­Suggest iterative prototypes for spiral development

Software Design - Dr Eitan Hadar (c) 12 UC

Software Design - Dr Eitan Hadar (c) 13 Use Case Relations – do not overuse!

Software Design - Dr Eitan Hadar (c) 14 Activity Diagram - Scenario elaboration  Flow of activities involved in a single process  Captures dynamic behavior (activity-oriented)  An activity graph is: ­A variation of a state machine ­States represent the performance of actions or sub- activities ­Transitions are triggered by the completion of the actions or sub-activities

Software Design - Dr Eitan Hadar (c) 15

Software Design - Dr Eitan Hadar (c) 16

Software Design - Dr Eitan Hadar (c) 17 Actors  Actors may be human users or externally visible subsystems and devices, such as sensors and actuators  Common mistake to assume that actors must be people

Software Design - Dr Eitan Hadar (c) 18 Actors (2)  Whenever the actor is a device used by a human or the human itself depends on the scope of the system.  If the system development includes the development of devices that interact with a human, then the human is the actor.  If the system must interact with existing (or separately supplied) devices that are, in turn, used by human users, then the interface devices are the actors because they are the first thing outside the system scope that actually interacts with the system.

Software Design - Dr Eitan Hadar (c) 19 Messages  During Analysis identify the semantics and characteristics of the individual messages (including those associated with signaling the occurrence of events) that pass between the system and its set of actors  A message is an abstraction of the exchange of information between a sender and a receiver  Pre- and post-conditional invariants, which are the states assumed to be true prior to sending and after receipt of a message

Software Design - Dr Eitan Hadar (c) 20 Type of Messages  A function call  Mail via a real-time operating system (RTOS)  An event via a RTOS  An interrupt  A semaphore-protected shared resource service call  An Ada rendezvous  A remote procedure call (RPC) in a distributed system