FROM INCEPTION TO ELABORATION Use Cases, Domain Models & SSDs Oh My!

Slides:



Advertisements
Similar presentations
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Ch 3: Unified Process CSCI 4320: Software Engineering.
1 Lecture 2: Processes, Requirements, and Use Cases.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
PRJ566: Project Planning and Management Choosing Iterations in terms the importance of use cases.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Object-Oriented Analysis and Design
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Rational Unified Process
COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.
Drawing System Sequence Diagrams
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
OO Development Process. UML and Process UML standardizes notation, not process –Increase likelihood of widespread acceptance There is significant variability.
Chapter 10 System Sequence Diagrams. What is a System Sequence Diagram? A way of modeling input and output events related to systems It is a picture that.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Dr. Kivanc DincerCS319 Week 1 - Sept.12,20051 Chapter 4 INCEPTION IS NOT THE REQUIREMENTS PHASE Objectives Define the inception step. Motivate the following.
1 Lecture 1: Processes, Requirements, and Use Cases.
NJIT Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman Presented by Anuradha Dharani.
Iterative development and The Unified process
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
Principles of Object Technology Module 1: Principles of Modeling.
Systems Analysis and Design in a Changing World, Fifth Edition
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Project Management.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Chapter 7 Applying UML and Patterns Craig Larman
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
Team Think For You. Outline  Introduction  Process  Requirements Engineering  Architecture  Detailed Design  Testing  Demo  Extensibility  Conclusions.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
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.
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.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
THE UNIFIED PROCESS UP Programming. What is the unified process  The Unified Process is a programming methodology that emphasizes the right blend of.
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
Drawing System Sequence Diagrams
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Week 2. Topics Inception phase Evolutionary requirements Use cases.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
Larman chapter 61 Use cases Larman chapter 6. 2 Fig. 6.1.
Chapter 8: Iteration 1 - Basics.  We review here the requirements for first iteration of our case studies. They are a subset of the requirements as described.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
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.
Software Development Framework
Elaboration popo.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Cases Discuss the what and how of use cases: Basics Benefits
Week 2.
Chapter 2 – Software Processes
Software Design Lecture : 15.
Use Case Modeling.
Other System Requirements
Use cases Dr. X.
Presentation transcript:

FROM INCEPTION TO ELABORATION Use Cases, Domain Models & SSDs Oh My!

The End of Inception After the customer has so kindly taken your soul and has given you a contract for getting it back, what do you do? You have the features, how do you implement them? Options: Panic, start coding! Design to death, the customer demands it! Take the middle road and see whats feasible.

Lets Take the Middle Road, Shall We? To do so, the easiest way is to start by writing out Use Cases. Use Cases are descriptions of how some external agent accesses your black box system. i.e. What messages are passed between the user and the system? How can the user control the system?

Initial Level of Detail How detailed should these initial Use Cases be? Were going to want a high level overview of what Use Cases well probably need. Some of these use cases (usually 10%) will be critical to the system. We should fully dress, or painstakingly elaborate these use cases.

What is a Fully Dressed Use Case? A fully dressed use case answers the questions in this template. Use Case Number: Use Case Name (Starts with a Verb) Scope: The System Under Design Level: Either a User Goal or a Subfunction that assist the user goal Primary Actor: The user that initiates the system Stakeholders and Interests: Who cares about this use case? Precondition: Whats assumed, what do we tell the user? Successful Completion: Whats defines success, and what do we tell the user? Main Success Scenario: The normal successful path Different colors for different users (primary actor vs. system) Extensions: Alternate routes to success or failure Special Requirements: Related non-functional requirements Technology and Data Variations: Data structures used? Frequency of Occurrence: Miscellaneous:

By the End of Inception… We need to have around 10% of our most important use cases fully dressed so that we can start the first iteration with project critical use cases.

Now Were Ready for Elaboration Elaboration is the phase where we fully solidify what the requirements are (with the added benefit that the major components of the system get built too)

Before the First Iteration Choose a Use Case from each category: High Business Value High Risk Core Architecture Set a deadline for the iteration: Estimate the difficulty of implementing said use cases Have each team member put down the hours they can work for the next couple of weeks Determine a feasible deadline

During the Iteration During Elaboration, we will work on the following project Artifacts in the following order: Use Cases Domain Model System Sequence Diagrams Operational Contracts Logical Architecture Domain Layer UML Classes Code

After the Iteration The Iteration ends when the deadline has elapsed. After the iteration: We want to evaluate the effectiveness of the use cases and possibly rescope them if we couldnt complete them fully or they were too broad in nature We also want to have a working demo of our software that demonstrates the new features A la the use cases

After the Iteration We will then get with the customer and demonstrate our product, receiving valuable feedback from the business side of the project. Then we will want to re-evaluate the use cases we have yet to do, re-evaluate our current system, and go through another iteration.

Conclusion You should now know what an iteration in the Elaboration phase of the project lifecycle consists of. Terms to know: Use Cases: Fully Dressed, Primary Actor, Happy Scenario Iteration Process: Use Cases, Domain Model, System Sequence Diagrams, Operational Contracts, Logical Architecture, Domain Layer, UML Classes, Code