Chapter 7 Applying UML and Patterns Craig Larman

Slides:



Advertisements
Similar presentations
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Advertisements

Chapter 4: Inception is Not the Requirements Phase
Chapter 7 Other Requirements Good Fast Cheap Pick any two. 1CS John Cole.
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.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Requirements Specification
NJIT Other Requirements Chapter 7 Applying UML and Patterns Craig Larman.
Dr. Kivanc DincerCS319 Week 1 - Sept.12,20051 Chapter 4 INCEPTION IS NOT THE REQUIREMENTS PHASE Objectives Define the inception step. Motivate the following.
NJIT Evolutionary Requirements Chapter 5 Applying UML and Patterns Craig Larman.
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
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
NJIT Inception is not the Requirements Phase Chapter 4 Applying UML and Patterns Craig Larman.
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
Slide 1 Requirements Workflow. Slide 2 The Phases/Workflows of the Unified Process Figure 3.1 l Phase is Business context of a step Workflow is Technical.
Copyright © Craig Larman All Rights Reserved Requirements.
UML - Development Process 1 Software Development Process Using UML (2)
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Business Analysis and Essential Competencies
ITEC 275 Computer Networks – Switching, Routing, and WANs Week 12 Chapter 14 Robert D’Andrea Some slides provide by Priscilla Oppenheimer and used with.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Software Engineering Management Lecture 1 The Software Process.
Object-Oriented Analysis and Design An Introduction.
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.
Chapter 7 Applying UML and Patterns -Craig Larman
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Jan 7, A UP project organizes the work and iterations across four major phases: – Inception -- approximate vision, business case, scope, vague estimates.
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.
Software Engineering COSC 4460 Class 4 Cherry Owen.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
Requirements Engineering for Web Applications. SR: System Vision Document Written by key stakeholders Written by key stakeholders An executive summary.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Software Engineering 1 Object-oriented Analysis and Design Chap 24 Iteration 2 More Patterns.
Understanding Requirements Chapter 5 Applying UML and Patterns -Craig Larman.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
The principles of an object oriented software development process Week 04 1.
Inception is not Requirement phasee Chapter 3 and 4 Applying UML and Patterns -Craig Larman.
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.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Chapter 8. Iteration 1, Elaboration: book view differs from reality for pedagogical reasons not doing “risk-driven” up front uses many OOA/D skills should.
Larman chapter 41 Inception Larman chapter 4 and 7.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
ITEC 275 Computer Networks – Switching, Routing, and WANs Week 12 Chapter 14 Robert D’Andrea Some slides provide by Priscilla Oppenheimer and used with.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XIV. From Requirements to Design in the UP.
ITEC 275 Computer Networks – Switching, Routing, and WANs
TK2023 Object-Oriented Software Engineering
Elaboration popo.
Applying UML and Patterns
Evolutionary requirements
COMP 350: Object Oriented Analysis and Design Lecture 2
Chapter 2 Software Processes
Evolutionary Requirements
Other Requirement Artifacts
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
Other System Requirements
Presentation transcript:

Chapter 7 Applying UML and Patterns Craig Larman Other Requirements Chapter 7 Applying UML and Patterns Craig Larman

Introduction Primary requirements of computer systems tend to be functional requirements the list of activities that the system must perform to provide value to its users Developers must also capture other non-functional system requirements Non-functional requirements may be captured in: Vision Statement Glossary Supplementary Specification.

Non-Functional Requirements Are Not a Checklist Not a listing of things that have to be documented in a system Documentation costs money and takes time. Use only enough resources to produce the desired results efficiently and effectively.

Vision Statement Communicates the project sponsor’s and key stakeholder’s… reasons for the project problems to be solved description of stakeholders and their needs description of the proposed solution Vision Statement contains the core system requirements It becomes the contractual basis to develop further requirements Key vision questions: Problem Statement Key High Level Goals Key Problems for the Stakeholders What are the root problems and goals?

Glossary Captures terms and their definitions in the business domain Terms may mean different things to different stakeholders and need to be defined. Can also perform the role of a Data Dictionary, or be supplemented by one. See example p. 115 in textbook

Supplementary Specification Captures requirements such as documentation, supportability, packaging, licensing.

Supplementary Specification Contents Common Functionality Logging Error Handling Business Rules Security Usability Reliability Recoverability Performance Supportability Adaptability Configurability Implementation Constraints Purchased Components

More Supplementary Specifications Interfaces Hardware Software Domain Rules Legal Issues Reports Operating Systems Networking Systems Process Tools Development Tools Design Constraints Internationalization Standards Physical Environment Operation Rules

Domain or Business Rules Are not functional requirements. Describe how the business works, while functional requirements tell how the system works. Company policies and government regulations are examples

UML Diagrams in Inception Aside from the possible inclusion of a few high level use case diagrams, the inception phase is almost all text. Most diagramming occurs in the Elaboration Phase.

From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman

Inception - Artifacts and Activities Requirements workshop Name actors, goals, use cases Keep use cases brief Identify most risky & influential quality requirements First version of Supplementary Specification and Vision Statement

Inception - Artifacts and Activities Risk list Technical feasibility UI oriented prototypes Buy/build/reuse components High-level candidate architecture Plan first iteration Candidate tools list

Elaboration - Key Ideas Not a waterfall model ! Two to six weeks for each iteration Timeboxed iterations Each iteration ends in a stable and tested release

Best Practices Start programming early Adapt based on feedback Design, implement, and test adaptively Test early and realistically Determine requirements and use case details through a series of workshops

UP Elaboration Artifacts Domain Model – visualization of domain concepts and relationships Design Model – diagrams of logical design (e.g. software class and package diagrams) Software Architecture Document – summary of key architectural issues Data Model – database schemas and relational/object mapping strategies UI Prototypes – user interface

Elaboration “Fails” When… No Timeboxed schedule - only one Iteration No Risk mitigation/resolution No Executable Architecture Minimal feedback and adaptation No early and realistic testing No Proof-of-concept programming