Analysis Modeling CpSc 372: Introduction to Software Engineering

Slides:



Advertisements
Similar presentations
Analysis Modeling.
Advertisements

Appendix Object-Oriented Analysis and Design: Use Cases Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 5 Understanding Requirements
Unit-III Requirements Engineering
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Object-Oriented Analysis and Design
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
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.
Use Case Modelling.
Analysis Concepts and Principles
Chapter 21 Object-Oriented Analysis
© Copyright Eliyahu Brutman Programming Techniques Course.
Use Case Modeling.
Chapter 7: The Object-Oriented Approach to Requirements
Analysis Modeling (cont’d) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
USE Case Model.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Understanding Requirements. Requirements Engineering
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.
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.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
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.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 Structuring Systems Requirements Use Case Description and Diagrams.
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.
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.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7: Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e.
1 Chapter 5 Lecture 5: Understanding Requirements Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
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 7 The Object-Oriented Approach to Requirements.
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.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
By Germaine Cheung Hong Kong Computer Institute
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
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.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
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.
Requirements Engineering Determining and Defining the Requirements for the Project.
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.
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 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
© Copyright 2010 Rockwell Collins, Inc. All rights reserved. Practical SysML Applications: A Method to Describe the Problem Space Ray Jorgensen David Lempia.
Requirements Models Representing the Product in Ways Other than Text.
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.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 9 Requirements Modeling: Scenario-Based Methods
Systems Analysis and Design in a Changing World, 6th Edition
Object-Oriented Software Engineering
Presentation transcript:

Analysis Modeling CpSc 372: Introduction to Software Engineering Jason O. Hallstrom jasonoh@cs.clemson.edu 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.

The Analysis Model The analysis model consists of a wide variety of diagrammatic forms used to bridge an important gap. System Description Design Model Analysis System information System function System behaviors Purpose: Describe what the customer wants built Establish the foundation for the software design Provide a set of validation requirements

Some Rules of Thumb Make sure all points of view are covered Every element should add value Keep it simple Maintain a high level of abstraction Focus on the problem domain Minimize system coupling

Analysis Modeling Approaches Structured Analysis: Object-Oriented Analysis Models data elements Attributes Relationships Models processes that transform data Models analysis classes Data Processes Models class collaborations Techniques from both approaches are typically used in practice.

A Roadmap We are going to examine some of the key tools used for creating an analysis model. General Use-cases Use-case diagrams Activity diagrams Swimlane diagrams These tools are not specific to either structured analysis or OO analysis. Structured Analysis OO Analysis Data object diagrams ERD diagrams Data flow diagrams Process specifications Class diagrams Packages CRC cards Sequence Diagrams

Use-Cases Key Points: Example: “[Use-cases] are simply an aid to defining what exists outside the system (actors) and what should be performed by the system (use-cases).” –Ivar Jacobson Key Points: A scenario that describes a thread of usage for achieving a functional requirement Actors represent roles people, devices, or external systems play System internals are ignored Example: See Pressman Chapter 8, Section 8.5.1, pg. 190

The Key Elements of a Use-Case A descriptive name for the scenario e.g., “Customer Checkout”, “Browse Products” The primary actor in the scenario Who is interacting with the system? The primary actor’s goal What is the actor trying to accomplish? Scenario pre-conditions What assumptions are being made? Scenario trigger How was the scenario initiated? The “sunny day” scenario In the best case, how does the user interact with the system? Exceptions What might go wrong? Remember why we’re interested in use-cases!

Developing a Use-Case What are the main tasks or functions that are performed by the actor? What system information will the actor acquire, produce or change? Will the actor have to inform the system about changes in the external environment? Does the actor wish to be informed about unexpected changes? …

Example: The Online Bookstore Consider the following excerpt from the initial scope document of a system that will be used by a local bookseller. The Online Bookstore System (OBS) will be a web-based application that allows customers to browse and purchase online product offerings. The application will support the notion of an online shopping cart, similar to other online retailers such as Amazon.com. The checkout features of the system will be integrated with our credit card transaction processor, as well as our internal billing system. The system will also provide an administrator-view that will allow authorized employees to view and administer products, customers, and orders. Based on this description, what are the key use-cases?

Activity Diagrams For complex use-cases, the process flow may be difficult to understand. Activity diagrams provide a graphical view of the interactions in a use-case. Example: See Pressman Chapter 8, Section 8.5.2, pg. 192

Swimlane Diagrams In some cases, it help to indicate which actors (or analysis classes) are responsible for which activities. A swimlane diagram serves this purpose. Example: See Pressman Chapter 8, Section 8.5.3, pg. 193

Use-Case Diagrams You’ll probably have a lot of use-cases! Use case diagrams (UCD) provide a diagrammatic table of contents, and a high-level overview of the system. Diagrams Show: Actors Use-cases Relationships among them Example UCD