Slide 12.1 © The McGraw-Hill Companies, 2002 1 CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.

Slides:



Advertisements
Similar presentations
Slide 12.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Advertisements

10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 2 Approaches to System Development
Systems Analysis and Design in a Changing World, 6th Edition
CHAPTER TWO Object Oriented System Analysis and Design 1.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Unified Modeling Language
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Slide 6A.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Systems Analysis and Design in a Changing World, Fifth Edition
SE 555 Software Requirements & Specification Requirements Analysis.
*Object-Oriented Design (Schach Chap 14)
Introduction To System Analysis and design
Chapter 2: Approaches to System Development
Systems Analysis and Design in a Changing World, Tuesday, Feb 27
OBJECT-ORIENTED ANALYSIS PHASE
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
CS3320::CH111 OBJECT-ORIENTED ANALYSIS Chapter 11.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
1 Analysis Extracting from Use Cases to Create Diagrams.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Lecture 14 & 15: Object- Oriented Analysis Anita S. Malik Adapted from Schach (2004) Chapter 12.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
IT 21103/41103 System Analysis & Design. Chapter 05 Object Modeling.
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Slide 12.1 Object-Oriented and Classical Software Engineering Chapter 12 Object Oriented Analysis.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Slide 11.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. CHAPTER 11 THE ANALYSIS WORKFLOW (Derived from Stephen R. Schach’s.
CS 8532: Advanced Software Engineering Dr. Hisham Haddad Overview of Object-Oriented Design Highlights of OOD Concepts, Components, and Process.
Software Engineering Zhang Shuang
Systems Analysis and Design in a Changing World, 6th Edition
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
Petri Nets Invented by Carl Adam Petri in 1962 Concurrent systems with timing problems  Synchronization, race problem, deadlock A petri net consists of.
Slide 13.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
THE ANALYSIS WORKFLOW  The specification document  Informal specifications  The analysis workflow  Extracting the entity classes  Functional modeling:
Slide 12.1 © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach.
CHAPTER 13 OBJECT-ORIENTED ANALYSIS. Overview l The analysis workflow l Extracting the entity classes l The elevator problem case study l The test workflow:
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
Software Engineering Zhang Shuang
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Slide 12F.135 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
CHAPTER 12 OBJECT-ORIENTED ANALYSIS. Overview Extracting the entity classes Object-oriented analysis: The elevator problem case study Functional modeling.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Systems Analysis and Design in a Changing World, 6th Edition
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Introduction to UML.
Cmpe 589 Spring 2006.
Object-Oriented Analysis (OOA)
Object-Oriented Analysis and Design
Week 10: Object Modeling (1)Use Case Model
Object-Oriented Analysis
אפיון ועיצוב מערכות מוכוון עצמים
Introduction To System Analysis and Design PART 2
University of Houston-Clear Lake
Introduction to UML.
CS 8532: Advanced Software Engineering
Presentation transcript:

Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design

Slide 12.2 © The McGraw-Hill Companies, Project Work Requirements Document  Done! Perform Systems Analysis Create Analysis Document Create Design Document Create Prototype Project Done!

Slide 12.3 © The McGraw-Hill Companies, Analysis Specification Document Page 46 of the Class Notes The Analysis Document Contains –1. Introduction section »Specific Project Objectives »Overall Requirements Description »Project Constraints and Assumptions –2. Functional Requirements »ERD »DFD »Process Descriptions »Design Specification Description »Performance and Reliability Requirements »UML Diagrams (Component Diagrams) »Test Plan

Slide 12.4 © The McGraw-Hill Companies, Structure Analysis Phase Previously Covered… Entity Relations shown in ERD format Data Flow shown in DFD format Data, Actions and Entities are separated for clarity

Slide 12.5 © The McGraw-Hill Companies, Structure Analysis vs. Object-Oriented Design Object Oriented Analysis and Design –Uses Structured Analysis »Uses visual representation similar to Structured Analysis »Diagramming builds from ERD and DFD concepts –Easy to learn –UML standards use common sense

Slide 12.6 © The McGraw-Hill Companies, Object-Oriented Analysis Phase Object-Oriented Design Methodology –Reaction to perceived shortcomings in structured analysis –The problem of larger products –Data and action are treated as equal partners

Slide 12.7 © The McGraw-Hill Companies, Object-Oriented Analysis Object consists of –Data (attributes, state variables, instance variables, fields, data members), and –Actions (methods, member functions) Objects are independent units –Conceptual independence –Physical independence

Slide 12.8 © The McGraw-Hill Companies, Different OO Methods Many different methods exist –Booch –OMT –Objectory –Shlaer-Mellor –Coad-Yourdon All are essentially equivalent Nowadays, we represent OOA using UML (Unified Modeling Language)

Slide 12.9 © The McGraw-Hill Companies, The Three Steps of OOA 1.Use-case modeling –Determine how the various results are computed by the product (without regard to sequencing) –Largely action-oriented 2.Class modeling (“object modeling”) –Determine the classes and their attributes –Purely data-oriented 3.Dynamic modeling –Determine the actions performed by or to each class –Purely action-oriented The process is iterative

Slide © The McGraw-Hill Companies, Elevator Problem: OOA 1. Use-Case Modeling –Use case: Generic description of overall functionality –Scenario: Instance of a use case Get comprehensive insight into behavior of product

Slide © The McGraw-Hill Companies, Use CASE Scenario

Slide © The McGraw-Hill Companies, Class Modeling Extract classes and their attributes Represent them using an entity-relationship diagram Deduce the classes from use cases and their scenarios Often there are many scenarios

Slide © The McGraw-Hill Companies, Two Approaches to Class Modeling Noun extraction –Always works CRC cards –Need to have domain expertise

Slide © The McGraw-Hill Companies, Noun Extraction Concise Problem Definition –Define product in single sentence »Buttons in elevators and on the floors control the motion of n elevators in a building with m floors.

Slide © The McGraw-Hill Companies, Noun Extraction Identify nouns in the informal strategy Nouns –button, elevator, floor, movement, building, illumination, request, door –floor, building, door are outside problem boundary — exclude –movement, illumination, request are abstract nouns — exclude (they may become attributes) Create classes: Elevator and Button

Slide © The McGraw-Hill Companies, First Iteration of Class Diagram Problem –Buttons do not communicate directly with elevators –We need an additional class: Elevator Controller

Slide © The McGraw-Hill Companies, Second Iteration of Class Diagram

Slide © The McGraw-Hill Companies, Third Iteration of Class Diagram

Slide © The McGraw-Hill Companies, Why is Iteration Needed? Perhaps the method is not yet mature? –Waterfall model (explicit feedback loops) –Rapid prototyping model (aim: to reduce iteration) –Incremental model (explicit iterative approach) –Spiral model (explicit iterative approach) Iteration is a property of all software production –Especially for medium- and large-scale products –Expect iteration in the object-oriented paradigm

Slide © The McGraw-Hill Companies, CRC Cards Used since 1989 for OOA For each class, fill in card showing –Name of Class –Functionality (Responsibility) –List of classes it invokes (Collaboration) Strength –When acted out by team members, CRC cards are a powerful tool for highlighting missing or incorrect items Weakness –Domain expertise is needed

Slide © The McGraw-Hill Companies, Example CRC Cards

Slide © The McGraw-Hill Companies, Dynamic Modeling Produce UML state diagram State, event, predicate are distributed over the state diagram

Slide © The McGraw-Hill Companies, State Diagram

Slide © The McGraw-Hill Companies, Modeling Tools SmartDraw, 30-day trial version is available for FREE: Microsoft Visio System Architect CASE Tools Many other drawing tool

Slide © The McGraw-Hill Companies, SmartDraw Software Design Option 1 2 3

Slide © The McGraw-Hill Companies, SmartDraw Components & Symbols

Slide © The McGraw-Hill Companies, Project Work Work in your teams to create your Analysis Document Your Analysis Document is due very soon! Next time we will discuss UML and OOD in more detail.