PRJ566 Project Planning & Management Software Architecture.

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

Software Process Models
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Information Resources Management January 23, 2001.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3.1.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 4: Phase Management - Elaboration.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Rational Unified Process
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Rational Worldwide Software Symposium
Fundamentals of Information Systems, Second Edition
Iterative development and The Unified process
Business Intelligence Dr. Mahdi Esmaeili 1. Technical Infrastructure Evaluation Hardware Network Middleware Database Management Systems Tools and Standards.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Enterprise Architecture
Chapter 6– Artifacts of the process
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
Effective Methods for Software and Systems Integration
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
UML - Development Process 1 Software Development Process Using UML (2)
Overview of the Database Development Process
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
Engineering, Operations & Technology | Information TechnologyAPEX | 1 Copyright © 2009 Boeing. All rights reserved. Architecture Concept UG D- DOC UG D-
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
The Challenge of IT-Business Alignment
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Systems Analysis and Design in a Changing World, Fourth Edition
Analysis & Design with UML
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
OBJECT-ORIENTED SOFTWARE DEVELOPMENT PROCESS BTS430 Systems Analysis and Design using UML.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Analysis and Design with UML. Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
The principles of an object oriented software development process Week 04 1.
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Team-Based Development ISYS321 Managing the Information Systems Project.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
IEEE Std 1074: Standard for Software Lifecycle
Object Oriented Analysis and Design
Rational Worldwide Software Symposium
Rational Unified Process
Chapter 1 (pages 4-9); Overview of SDLC
Rational Worldwide Software Symposium
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
UML: Collaboration and Deployment Diagram
Rational Worldwide Software Symposium
Presentation transcript:

PRJ566 Project Planning & Management Software Architecture

Systems Development Lifecycle (SDLC)  Projects are developed according to a definite methodology called the SDLC  Three major activities Analysis: understanding business needs Design: conceptualizing computer-system solution Implementation: construction, testing, and installation

Systems Development Lifecycle (SDLC) Two additional phases: Project planning Support

Aids to Assist in Analysis and Design  Methodologies Comprehensive guidelines to follow for completing every SDLC activity Collection of techniques Examples: Structured, OO  Models Representation of an important aspect of the real world Diagrams and charts Project planning aids

Software Architecture

Architectural Design  Focuses on the overall structure of the system, the relationships among its major components and their interactions  Is divided into sections or views

Models and Views  Models are complete representations of the system: use case models, class diagrams  Architectural views focus only on what is architecturally significant

The Architect  The person responsible for the overall structure and design of the system In a small system the architect may serve the role of the analyst and the software designer, Programmer/Analyst Should be the most senior and responsible person on the technical team

The Architect  Becomes the owner of the technical vision and his/her understanding of the overall system, coupled with his/her ability to to design a model of the system, is critical to the success of the project

The Architecture Document  Designed to establish the overall structure of the entire project by describing various architectural views

Architectural Views  A view is a specific perspective or focus. Typically an architectural view is a subset of the entire architecture.

Architectural Views  The View Model developed by Philippe Krutchen The View Model  The View Model developed by Philippe Krutchen The View Model

Use Case View  Has precedence over the other views, because the use case view--the collected use cases from the requirements analysis--drives and motivates the rest of the design.

Use Case View  It is the job of the architecture and ultimately the implementation to realize the use case requirements  Focus is on the interaction of the classes and how these interactions serve to implement the use cases we analyzed previously

Logical View  Represents the organization of the most significant classes and how they relate to one another  The class design is integrated into the logical view, creating an integrated perspective of the entire system

Logical View  Most comprehensive architectural view  Incorporates the most significant aspects of all other views  Provides an overview of the entire architecture, and in conjunction with the code itself, provides a guide to the software

Process View  Focuses on how, in a system with multithreading or multiple processes, the concurrent tasks interact

Copyright © 1997 by Rational Software Corporation The Physical World  Component diagrams illustrate the organizations and dependencies among software components  A component may be A source code component A run time components or An executable component

Copyright © 1997 by Rational Software Corporation Course Offering Student Professor Component Diagram Course.dll People.dll Course User Register.exe Billing.exe Billing System

Copyright © 1997 by Rational Software Corporation Deploying the System  The deployment diagram shows the configuration of run-time processing elements and the software processes living on them  The deployment diagram visualizes the distribution of components across the enterprise.

Deployment View  Focuses on the physical allocation of resources and the allocation of tasks among those resources in a distributed system

Copyright © 1997 by Rational Software Corporation Deployment Diagram Registration DatabaseLibraryDormMain Building

Implementation View  Embodied in the code with its supporting documentation

How are architectural goals to be achieved?  Model software objects after problem domain objects  Build software systems like hardware systems, i.e. more pluggable  View programming as assembling parts

How are architectural goals to be achieved?  Build new software parts by extension  “Grow” software systems through iterative development  Achieve large-grain interoperability across heterogeneous systems and networks

Iteration Across Life Cycle Phases

The Spiral Life Cycle Model Phases can be broken into smaller pieces, each with a different type of risk

Copyright © 1997 by Rational Software Corporation InceptionElaborationConstructionTransition Iteration 1Iteration 2Iteration 3 Iteration Planning Rqmts Capture Analysis & Design Implementation Test Prepare Release “Mini-Waterfall” Process Use Cases Drive the Iteration Process

Copyright © 1997 by Rational Software Corporation Work Allocation Within an Iteration  Work to be accomplished within an iteration is determined by The (new) use cases to be implemented The rework to be done  Packages make convenient work packages for developers High-level packages can be assigned to teams Lower-level packages can be assigned to individual developers  Use Cases make convenient work packages for test and assessment teams

Copyright © 1997 by Rational Software Corporation The Iteration Life Cycle: A Mini-Waterfall Results of previous iterations Up-to-date risk assessment Controlled libraries of models, code, and tests Release description Updated risk assessment Controlled libraries Iteration Planning Requirements Capture Analysis & Design Implementation Test Prepare Release Selected scenarios

Copyright © 1997 by Rational Software Corporation Detailed Iteration Life Cycle Activities  Analysis & Design Determine the classes to be developed or updated in this iteration Update the object model to reflect additional design classes and associations discovered Update the architecture document if needed Begin development of test procedures  Implementation Automatically generate code from the design model Manually generate code for operations Complete test procedures Conduct unit and integration tests

Copyright © 1997 by Rational Software Corporation Detailed Iteration Life Cycle Activities  Test Integrate and test the developed code with the rest of the system (previous releases) Capture and review test results Evaluate test results relative to the evaluation criteria Conduct an iteration assessment  Prepare the release description Synchronize code and design models Place products of the iteration in controlled libraries

Copyright © 1997 by Rational Software Corporation Iteration Assessment  Assess iteration results relative to the evaluation criteria established during iteration planning: Functionality Performance Capacity Quality measures  Consider external changes that have occurred during this iteration For example, changes to requirements, user needs, competitor’s plans  Determine what rework, if any, is required and assign it to the remaining iterations

Copyright © 1997 by Rational Software Corporation Initial Project Risks Initial Project Scope Revise Overall Project Plan Cost Schedule Scope/Content Plan Iteration N Cost Schedule Assess Iteration N Risks Eliminated Revise Project Risks Reprioritize Develop Iteration N Collect cost and quality metrics Define scenarios to address highest risks Iteration N Risk Reduction Drives Iterations

Copyright © 1997 by Rational Software Corporation Three Important Features of the Iterative Approach  Continuous integration Not done in one lump near the delivery date  Frequent, executable releases Some internal; some delivered  Attack risks through demonstrable progress Progress measured in products, not documentation or engineering estimates

Copyright © 1997 by Rational Software Corporation Resulting Benefits  Releases are a forcing function that drives the development team to closure at regular intervals Cannot have the “90% done with 90% remaining” phenomenon  Can incorporate problems/issues/changes into future iterations rather than disrupting ongoing production  The project’s supporting elements (testers, writers, toolsmiths, CM, QA, etc.) can better schedule their work