Analysis Modeling (cont’d) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.

Slides:



Advertisements
Similar presentations
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Advertisements

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Paul Deitel, CEO Deitel & Associates, Inc.. Contact Information  Paul Deitel, CEO  Deitel & Associates, Inc.  Twitter:  Facebook:
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Slide 1 Systems Analysis & Design CS183 Spring Semester Dr. Jonathan Y. Clark Course Website:
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Object Oriented Analysis Process
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 21 Object-Oriented Analysis
© Copyright Eliyahu Brutman Programming Techniques Course.
Slide 1 Chapter 8 Behavioral Modeling. Slide 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
Use case diagrams A use case diagram is UML’s notation for showing the relationships among a set of use cases and actors A use case diagram can help the.
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
Systems Analysis and Design in a Changing World, Fifth Edition
Analysis Modeling (cont’d) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
Class Specifications CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides are intended.
Implementing Specifications CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.
Developing Use Cases in a Group Carolyn L. Cukierman Face-to-Face Technology Conference March 27, 2000.
CS212: Object Oriented Analysis and Design Lecture 4: Objects and Classes - I.
High-Level Design With Sequence Diagrams COMP314 (based on original slides by Mark Hall)
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
Other UML Diagramming Techniques CS 124. UML Diagramming Techniques Class Diagrams Use Case Diagrams Interaction Diagrams Sequence diagrams Collaboration.
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!)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Systems Analysis and Design in a Changing World, 3rd Edition
Faculty of Computer & Information
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
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.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CS 4850: Senior Project – Spring 2009 CS 4850: Senior Project Spring 2009 Overview of Software Requirements and OO Analysis.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Analysis Modeling (cont’d) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.
Introduction to Design (and Zen) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These.
1 Chapter 18 Analysis Modeling for WebApps Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Analysis Modeling CpSc 372: Introduction to Software Engineering
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Chapter 10 요구사항 모델링 : 클래스 기반 방법론 Requirements Modeling: Class-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for.
Software Engineering Zhang Shuang
Slide 1 Classes and Objects. Slide 2 Messages and Methods.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
The Software Process CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides are intended.
Representation Invariants CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Use Case Analysis Chapter 6.
Systems Analysis and Design in a Changing World, 6th Edition
Use case diagrams A use case diagram is UML’s notation for showing the relationships among a set of use cases and actors A use case diagram can help the.
Object-Oriented Analysis
Systems Analysis and Design in a Changing World, 6th Edition
CRC Modeling (class-relationship-collaborator)
Chapter 10 Requirements Modeling: Class-Based Methods
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Analysis Modeling (cont’d) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides are intended to serve as teaching instruments for an undergraduate course in Software Engineering. While the slides were formatted by Dr. Hallstrom, the content is compiled from other sources, including the readings listed on the course website, Dr. Pressman’s Software Engineering textbook, and various internet materials. In almost every case, the ideas belong to someone other than Dr. Hallstrom. Indeed, text is often quoted verbatim without an explicit citation (to improve the readability of the slides). The original authors retain all copyrights. If you are interested in citing any of the material in these slides, please contact Dr. Hallstrom for the original source(s). DO NOT CITE THIS PRESENTATION. THE CONTENT SHOULD NOT BE ATTRIBUTED TO DR. HALLSTROM. SEE DR. HALLSTROM IF YOU HAVE ANY QUESTIONS.

CpSc 372 A Different View Models analysis classes  Data  Processes Models class collaborations Object-Oriented Analysis Class diagrams Packages CRC cards Sequence diagrams modeled using Modeling Tools: modeled using Object-oriented analysis results in an analysis model that describes a system of collaborating objects. Every object encapsulates a set of data elements, and exports a set of operations for working with those elements.

CpSc 372 Categorization Categorization is one of the most important tools in our intellectual toolbox. How do we manage (intellectually) a large number of related items? In object-oriented analysis, we categorize classes using analysis packages. We group the items into categories of items that share common characteristics or satisfy common goals.

CpSc 372 Analysis Packages An analysis package is a collection of related analysis classes grouped under a representative name. classes package name UML notation accessibility modifiers Java, C#, and VB.NET use a similar notion for categorizing implementation classes.

CpSc 372 CRC Cards Class-responsibility-collaborator (CRC) cards provide another way to organize a system’s classes. The class  Just a simple name Its responsibilities  Description of attributes and operations Its collaborators  Other classes that help satisfy responsibilities Each class is represented by an index card that identifies: “One purpose of CRC cards is to fail early, to fail often, and to fail inexpensively. It is a lot cheaper to tear up a bunch of cards than it would be to reorganize a large amount of source code.”– C. Horstmann

CpSc 372 CRC Cards: Example (See Pressman Chapter 8, Section 8.7.4, pg. 208) Class: FloorPlan Description: The FloorPlan class … Responsibilities:Collaborators: Defines floor plan name/type Manages floor plan positioning Scales floor plan for display Incorporates walls, doors, and windows Wall, Door, Window Shows position of video cameras Camera

CpSc 372 Model Validation with CRC Cards All participants are given a set of CRC cards  Cards that collaborate should be separated Each use-case is read by the facilitator  When a named class is reached, a token is passed to the person holding the corresponding CRC card The token holder reads the responsibilities on their card  The team determines whether the class’s responsibilities satisfy the use-case  Card responsibilities and collaborations are validated Responsibilities and collaborations are updated A CRC model can be validated by the project team using the following procedure:

CpSc 372 An Alternate View CRC cards provide one way to model collaborations. Easy to develop and maintain Easy for stakeholders to understand High-level view of responsibilities and interactions Acid-test validation UML sequence diagrams provide an alternative view, focusing on method interactions. More difficult to develop and maintain Not always easy for stakeholders to understand More detailed view of interactions More detailed validation 1 st 2 nd

CpSc 372 UML Sequence Diagrams time objects invocations activations returns

CpSc 372 Try It! What would checking-out look like?

Analysis Modeling Exercises CpSc 372: Introduction to Software Engineering Jason O. Hallstrom

CpSc 372 Exercise: Data Flow Diagrams Create a level 0 data flow diagram for a basic automated teller machine (ATM). You can ignore administrative scenarios. What would the level 1 data flow diagram look like?

CpSc 372 Exercise: Use-Case Diagrams Create a use-case diagram for a basic automated teller machine (ATM). You can ignore administrative scenarios.

CpSc 372 Exercise: Use-Cases Detail the “withdraw cash” use-case identified in your use-case diagram. Your use-case should identify: The primary actor The goal in context Any preconditions The trigger The scenario Any exceptions

CpSc 372 Exercise: Activity Diagrams Create an activity diagram for the “withdraw cash” use-case.