In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?



Similar documents
3C05: Unified Software Development Process

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

The Unified Software Development Process

Basic Unified Process: A Process for Small and Agile Projects

Software Design Models, Tools & Processes *

The most suitable system methodology for the proposed system is drawn out.

CS4507 Advanced Software Engineering

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Introduction to OpenUP (Open Unified Process)

Chap 1. Introduction to Software Architecture

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

System development lifecycle waterfall model

Masters of Science in Software & Information Systems

Title: Topic 3 Software process models (Topic03 Slide 1).

Plan-Driven Methodologies

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Object-Oriented Systems Analysis and Design

Classical Software Life Cycle Models

The Rap on RUP : An Introduction to the Rational Unified Process

Software Development Life Cycle (SDLC)

Assuming the Role of Systems Analyst & Analysis Alternatives

Software Process for QA

How To Understand The Software Process

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

General Problem Solving Model. Software Development Methodology. Chapter 2A

Object-oriented design methodologies

Agile Unified Process

SOFTWARE PROCESS MODELS

An Introduction to the UML and the Unified Process

Software Development Methodologies

(Refer Slide Time: 01:52)

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

A Software Engineering Approach For GIS Developing

What is a life cycle model?

(BA122) Software Engineer s Workshop (SEW)

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

Rose/Architect: a tool to visualize architecture

Supporting Workflow Overview. CSC532 Fall06

Design methods. List of possible design methods. Functional decomposition. Data flow design. Functional decomposition. Data Flow Design (SA/SD)

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

How To Model Software Development Life Cycle Models

Analysis of the Specifics for a Business Rules Engine Based Projects

Object-Oriented Design Guidelines

Improving Software Development Economics Part II: Reducing Software Product Complexity and Improving Software Processes

Information systems modelling UML and service description languages

Course Registration Case Study

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Software Project Management using an Iterative Lifecycle Model

A Capability Maturity Model (CMM)

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

Karunya University Dept. of Information Technology

2. Analysis, Design and Implementation

Abstract. 1 Introduction

Process Models and Metrics

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

Software Lifecycles Models

Increasing Development Knowledge with EPFC

Redesigned Framework and Approach for IT Project Management

What Is the Rational Unified Process?

RUP iteration planning

Business Modeling with UML

Object Oriented Design

A UML Introduction Tutorial

Implementation Workflow

10.1 Determining What the Client Needs. Determining What the Client Needs (contd) Determining What the Client Needs (contd)

How To Develop A Multi Agent System (Mma)

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

Development Methodologies

Time Monitoring Tool Software Development Plan. Version <1.1>

RUP for Software Development Projects

Syllabus M.C.A. Object Oriented Modeling and Design usung UML

Software Development Processes. Software Life-Cycle Models

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

How To Understand And Understand The Software Development Process In Korea

Introduction to Systems Analysis and Design

PRINCE2:2009 Glossary of Terms (English)

A Rapid Development Process with UML

Designing Real-Time and Embedded Systems with the COMET/UML method

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

Knowledge, Certification, Networking

CHAPTER. Software Process Models

Systems Analysis and Design

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

Towards an Integration of Business Process Modeling and Object-Oriented Software Development

Applying 4+1 View Architecture with UML 2. White Paper

Software processes that are:

What CMMI Cannot Give You: Good Software

A Software process engineering course

COMP 354 Introduction to Software Engineering

Agile Software Engineering Practice to Improve Project Success

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Transcription:

In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology Chapter 22 M8748 Peter Lo 2007 1 M8748 Peter Lo 2007 2 Why Methodology? Techniques of system development must be organized if they are to work together Analyst has drawn collaboration diagrams for main use cases Should she now convert these to sequence diagrams and write operation specifications? Or concentrate on class diagram, inheritance and composition structures? UML itself contains nothing that helps to make this decision Why Methodology? Organization of tasks is not contained within the techniques Must be described at a higher level of abstraction Method of a project means the particular way that tasks in that project are organized Sometimes called Process of Software Development M8748 Peter Lo 2007 3 M8748 Peter Lo 2007 4

Method or Methodology? Method An instantiation of the principles in a given situation, the step-by-step description of the steps involved in doing a job Methodology Set of general principles that guide the choice of a method suited to a specific task or project No two projects are identical, so method is specific to one project Task vs. Technique A Task is something you do in a particular project. Tasks have products. A task might be Analyze the requirements for a use case. A Technique specifies how to carry out a task. One technique for doing this would be the UML collaboration diagram. M8748 Peter Lo 2007 5 M8748 Peter Lo 2007 6 Increasing Level of Abstraction in Defining a Project Level of Abstraction Task Technique Method Methodology Example of Application Developing a first-cut class diagram Description of how to carry out a technique, e.g. UML class modelling Specific techniques used on a particular project that lead to a specific software product Typical Product Specific version of a class diagram Any UML class diagram A product costing system General selection and sequence A range of business of techniques capable of software producing a range of software applications M8748 Peter Lo 2007 products 7 What is a Methodology? Avison and Fitzgerald (1988): a collection of Procedures Techniques Tools Documentation aids Organized within a lifecycle structure Usually also with an underlying philosophy which captures a particular view of the meaning and purpose of Information System development M8748 Peter Lo 2007 8

Elements of a Methodology Logical Views of a System UML class diagram is a Technique, and so is operation specification Rational Rose (CASE software) is a Tool Find classes by inspecting use case descriptions is a Procedure Operation specifications should not be written until class model is stable is an Aspect of Structure Analysis and design are Stages or Activities OO development promotes software which is robust and resilient to change is a Philosophy Three complementary views in software development: Data View Attributes and associations that must be stored within the software Process View operations carried out on the data Temporal View sequence of processes and time constraints (also sequences of events that impinge on the system) Methodology needs techniques to discover, analyse and model each of these views M8748 Peter Lo 2007 9 M8748 Peter Lo 2007 10 Why Use a Methodology? Helps produce better quality product Better documented software More acceptable to user More maintainable software More consistent software Helps ensure user requirements are met Helps project manager control the project Reduces development costs Promotes communication among all parties Object-Oriented Oriented Development: OPEN OPEN Stands for Object-oriented Process, Environment and Notation (Graham et al., 1998) The methodology includes specifications of: Activities Tasks Techniques Deliverables Notation M8748 Peter Lo 2007 11 M8748 Peter Lo 2007 12

OPEN Object-Oriented Oriented Development: USDP Basic principles include iterative and incremental development, and In OPEN, activities Have both pre- and post-conditions Are carried out within timeboxes (as in DSDM) OPEN has its own notation, COMN, that is a rival to UML M8748 Peter Lo 2007 13 M8748 Peter Lo 2007 14 Unified Software Development Process (USDP) Public domain methodology for Object-Oriented software development Produced by Rational.com team The key elements in the philosophy of the USDP. Use-case Driven Architecture-centric Iterative Development Incremental Development Key Elements: Use-case Driven Each use case is a thread that links a series of models from requirements through to implementation; it is a constant reminder to the systems developers that users requirements are what matters. Accountant Add new staff M8748 Peter Lo 2007 15 M8748 Peter Lo 2007 16

Key Elements: Use-case Driven In USDP the basic element is a single interaction between user and system Use cases are the start of modeling Unit from which later models are derived Each use case is a thread that links requirements to implementation Has practical significance for users Constant reminder to systems developers that only users requirements really matter Key Elements: Architecture-Centric Software architecture is an essential theme in modeling from the earliest stages of a project. User Interface Control Analysis Package Campaign Management Staff Management M8748 Peter Lo 2007 17 M8748 Peter Lo 2007 18 Key Elements: Architecture-Centric In USDP, software architecture is a theme from the earliest stages of a project Reflected most obviously in: Stereotyping of boundary, control and entity classes Use of packages to organize both models and development activity Key Elements: Iterative At each stage of the project, the activities are essentially the same, but they are carried out in an iterative manner. A unit of software may pass through several cycles of analysis, design, implementation and testing before it meets users approval. M8748 Peter Lo 2007 19 M8748 Peter Lo 2007 20

Key Elements: Iterative The USDP lifecycle is cyclic: Analyse a bit Design that bit Code the design Test the code Refine the analysis and repeat Key Elements: Incremental The system is built as a series of increments. In the simplest terms, each use case is an increment or unit of delivery that has practical significance to users. USDP aims to deliver working, free-standing, useful chunks of software, one at a time In its simplest form, each use case may represent one increment of delivered software M8748 Peter Lo 2007 21 M8748 Peter Lo 2007 22 Activities and Phases for USDP Activities and Phases for USDP Activity has meaning for developers Phase matters to project manager Phases are sequential, delineated by milestones Each milestone is a decision point: Begin next phase or stop now? Manager s focus shifts from one phase to the next Within each phase, activities iterate M8748 Peter Lo 2007 23 M8748 Peter Lo 2007 24

Phases and Iterations No set rule for number of iterations Within a phase, workflows are the same All 4 phases run from requirements to testing, but emphasis changes At first, main effort is on capture, modeling, analysis of requirements Later phases emphasize implementation and testing Inception Phase Essentially a feasibility stage: do potential risks outweigh potential benefits Decision based partly on CBA Viability of project judged on delivery of a small subset of requirements as working software M8748 Peter Lo 2007 25 M8748 Peter Lo 2007 26 Inception Phase Main activities: Requirements capture Analysis Small amount of design, implementation and testing Even at this early stage, iteration is likely OO approach makes this possible Elaboration Phase Produce design for a suitable system Aim is to reduce cost uncertainties Demonstrate how system can be built within acceptable timescale and budget Proportion of time spent on design activities increases Small increase in time on implementation and testing (still small in relation to analysis and design) M8748 Peter Lo 2007 27 M8748 Peter Lo 2007 28

Construction Phase Build, through several iterations, a system capable of satisfactory operation in target environment Implementation and testing rapidly become core activities Each iteration moves away from design and towards testing Transition Phase Achieves the intended full capability of the system Deals with any defects or problems that have emerged Includes system conversion, if older system is being replaced M8748 Peter Lo 2007 29 M8748 Peter Lo 2007 30 Workers and Activities Inputs and Outputs of an Activity USDP differentiates between real people and the more abstract worker A Worker is a project role, e.g. Use-case specifier System architect Component engineer Integration tester No direct one-to-one mapping between people and workers M8748 Peter Lo 2007 31 M8748 Peter Lo 2007 32

The Analysis Workflow in USDP USDP: Summary The most mature OO methodology yet Has roots in: Booch method (good at design and implementation) OMT (good at analysis) Objectory (strong at requirements engineering and system architecture) USDP strives to bring these together Also large and complex: significant learning curve involved, or tailor to fit M8748 Peter Lo 2007 33 M8748 Peter Lo 2007 34