Software Engineering Chapter 8 Fall 2001. Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

Gerhard Dueck -- CS3013Capturing Requirements as Use Cases 1 Capturing the Requirements as use Cases  Requirements Description  We need to describe –The.
Ch 12: Object-Oriented Analysis
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to Systems Requirements Lecture 4 Identifying.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
© Copyright Eliyahu Brutman Programming Techniques Course.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Use Case Analysis – continued
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
Object Oriented Analysis and Design Using the UML
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 19 Chapter 2 Text Introduction to Rational Unified Process.
University of Southern California Center for Systems and Software Engineering Rational Software Modeler Tutorial Pongtip Aroonvatanaporn.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Chapter 5 Analysis Model. Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step.
ANALYSIS REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
©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.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
An Introduction to Software Architecture
Software Requirements Engineering CSE 305 Lecture-2.
Unified Modeling Language, Version 2.0
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Chapter 6 A Use-Case-Driven Process. 2 Definitions The choice of models and the choice of techniques used to express them have a significant impact on.
Chapter 3 – The Analysis Workflow CSC532: Fall 2003 Original presentation by Joshua Hughes Zehra Raoshan Kiran Balagani Guang Li This presentation will.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
UML-1 3. Capturing Requirements and Use Case Model.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
ANALYSIS - II REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
UML - Development Process 1 Software Development Process Using UML.
Basic Concepts and Definitions
Business Modeling and Analysis
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
Lecture 5 Introduction to Use Case Analysis and the Analysis Model Introduction to the UML.
Slide 1 Project team 1. gathers requirements from the users (Ch. 4) 2. models the overall business process using __________ 3. identifies _________ using.
Basic Characteristics of Object-Oriented Systems
 System Requirement Specification and System Planning.
ITEC 3220A Using and Designing Database Systems
Unified Modeling Language
Use Case Realization Describes a collaboration among analysis classes that shows how a specific use case is realized Consists of flow-of-events analysis,
Software Design Lecture : 15.
An Introduction to Software Architecture
Rational Rose 2000 Instructor Notes Use Case Realization Structure
Design Yaodong Bi.
Design.
Software Development Process Using UML Recap
General Workflow of Use-Case Driven Development
Presentation transcript:

Software Engineering Chapter 8 Fall 2001

Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension of use cases, use cases are converted into a more formal description of the system.

Why?  Use cases must be kept as independent of each other as possible for simplicity.  Use cases must be described in the language of the customer.  Each use case must be structured to form a complete and intuitive specification of functionality.

After getting the requirements from the users and describing them as use cases, these use cases need to be analyzed.  Resolve issues such as concurrency.  Multiple accesses to the same data at the same time.  Relationships and dependencies among use cases.  Other system requirements that are transparent to the user.

Structure the requirements to facilitate:  understanding them by the developers  preparing them  changing them  reusing them  maintaining them

The analysis model  analysis classes  packages  interaction diagrams  handles shared resources See Table 8.1 page 175 (Use case model vs. analysis model)See Table 8.1 page 175 (Use case model vs. analysis model)

The purpose of the analysis is to produce a precise and detailed understanding of the requirements. This goes beyond what the user is directly concerned with. We are still talking about the requirements from the user’s perspective, but in much more detail than the use cases. Although the analysis may bring up questions that need to be discussed with the user, the user is not necessarily involved in the analysis. After the users help specify the requirements as use cases, the developers analyze those requirements. In particular, they analyze how the pieces fit together into a system and what problems might arise.

For example, in the use case model: Use Case 1Use Case 1  The bank teller processes a deposit for the customer.  The deposit is added to an account. Use Case 2Use Case 2  The customer later withdraws money.  The withdrawal is subtracted from an account.

In the analysis model:  It is determined that the deposit and withdrawal are affecting the same account if it is the same customer.  The relationship between the deposit and withdrawal may be better defined.

In the design model:  It is determined how the deposit and withdrawal use cases will be converted into program modules or classes.  For example, deposit might be one class in the actual program, and withdrawal might be another class.  As an alternative they might be combined into the same single class.

Artifact – Analysis Model

Analysis class  Boundary classes  Entity classes  Control classes

Class Diagram (see Fig page 187 and page 45)(see Fig page 187 and page 45)  realization of a use case in classes

Collaboration Diagram (Interaction Diagram) (see Fig 8.12 page 188)(Interaction Diagram) (see Fig 8.12 page 188)  puts actions on the lines of the class diagram to show the interactions among the classes

Trace Diagram (see Fig 8.9 page 186 and page 44)(see Fig 8.9 page 186 and page 44)  shows which use cases are realized by which classes

Flow of Events (see Example page 189)(see Example page 189)  A text description that explains the collaboration diagram

Special Requirements (see Example page 190)(see Example page 190)  description of nonfunctional requirements

Analysis Package  a grouping of analysis classes into a package  a way to organize classes into different groups and subgroups

Service Package  a group of functionally related classes  this group of classes can be used generally by several use cases  spell check might be an example  service packages are reusable  service packages are loosely coupled

Architecture Description  Architecturally significant artifacts of the Analysis Model  Analysis packages and their dependencies  Key analysis classes  Use-case realizations that realize critical functionality

Workers

Architect  responsible for overall integrity of the analysis model  ensures the analysis model as a whole is correct, consistent, and readable

Use-Case Engineer  make sure the diagrams and text are correct  responsible for the integrity of one or more use case realizations  and correctly realize the use case from the use case model

Component Engineer  make sure each analysis class fulfills the requirements made on it from the use case realizations in which it participates  maintains the integrity of one or more analysis packages

Workflow

Activity – Architectural Analysis  Identify analysis packages  Handle commonality among analysis packages  Define analysis package dependencies  Identify service packages  Identify obvious entity classes  Identify common special requirements

Activity – Analyze a Use Case  Identify analysis classes  Describe analysis object interactions  Capture special requirements

Activity – Analyze a Class  Identify responsibilities  Identify attributes  Identify associations and aggregations  Identify generalizations  Capture special requirements

Activity – Analyze a Package  Make sure the package contains the right classes  Limit the dependencies to other packages  Define and maintain the dependencies that do exist

Summary of Analysis  Analysis model  Analysis packages and service packages  Analysis classes and their responsibilities, attributes, relationships, and special requirements.  Use-case realizations  Architectural view of the analysis model