objectives

53

Upload: lyndon

Post on 14-Jan-2016

21 views

Category:

Documents


0 download

DESCRIPTION

Objectives. Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to the SDLC in place of the more predictive traditional SDLC - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Objectives
Page 2: Objectives

2Object-Oriented Analysis and Design with the Unified Process

Objectives Explain the purpose and various phases of the

traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to the

SDLC in place of the more predictive traditional SDLC

Describe how the more adaptive Unified Process (UP) life cycle uses iterative and incremental development

Explain the differences between a model, a tool, a technique, and a methodology

Page 3: Objectives

3Object-Oriented Analysis and Design with the Unified Process

Objectives (continued)

Describe the Unified Process as a comprehensive system development methodology that combines proven best practices with the iterative UP life cycle

Describe the disciplines used in a UP development project

Describe the key features of the object-oriented approach

Explain how automated tools are used in system development

Page 4: Objectives

4Object-Oriented Analysis and Design with the Unified Process

 The Systems Development Life

Cycle SDLC: process of building, deploying, using, and

updating an information system Text focus: initial development project Chief variations of SDLC

Predictive: project planned entirely in advance Adaptive: planning leaves room for contingencies

Pure approaches to SDLC are rare Most projects have predictive and adaptive elements

Page 5: Objectives

5Object-Oriented Analysis and Design with the Unified Process

Predictive versus adaptive approaches to the SDLC

Page 6: Objectives

6Object-Oriented Analysis and Design with the Unified Process

 The Traditional Predictive SDLC Approaches

Five activities or phases in a project Planning, analysis, design, implementation, support

Pure waterfall approach (predictive SDLC) Assumes project phases can be sequentially executed Project drops over the “waterfall” into the next phase

Modified waterfall approach Tempers pure waterfall by recognizing phase overlap Informs many current projects and company systems

Page 7: Objectives

7Object-Oriented Analysis and Design with the Unified Process

SDLC Phases and Objectives

Page 8: Objectives

8Object-Oriented Analysis and Design with the Unified Process

The Waterfall Approach to the SDLC

Page 9: Objectives

9Object-Oriented Analysis and Design with the Unified Process

The Newer Adaptive Approaches to the SDLC

The spiral model: early form of adaptive SDLC Activities radiate from center starting point Functional prototypes are artifacts of each phase

Iterative problem solving: repeats activities Several approaches to structuring iterations

Define and implement the key system functions Focus on one subsystem at a time Define by complexity or risk of certain components

Page 10: Objectives

10Object-Oriented Analysis and Design with the Unified Process

The Spiral Life Cycle Model

Page 11: Objectives

11Object-Oriented Analysis and Design with the Unified Process

The Unified Process Life Cycle

UP life cycle

Includes (4) phases which consist of iterations

Iterations are “mini-projects”

Inception: develop and refine system vision

Elaboration: define requirements and core architecture

Construction: continue design and implementation

Transition: move the system into operational mode

Page 12: Objectives

12Object-Oriented Analysis and Design with the Unified Process

The Unified Process System Development Life Cycle

Page 13: Objectives

13Object-Oriented Analysis and Design with the Unified Process

UP Phases and Objectives

Page 14: Objectives

14Object-Oriented Analysis and Design with the Unified Process

Methodologies, Models, Tools, and Techniques

Page 15: Objectives

15Object-Oriented Analysis and Design with the Unified Process

Methodologies and System Development Processes

System development methodology

Provides guidelines for every activity in system development

Includes specific models, tools, and techniques

UP is a system development methodology

Methodologies supported with documentation

Page 16: Objectives

Methodologies and Processes are an approach which uses:

Techniques Tools Models

16Object-Oriented Analysis and Design with the Unified Process

To produce system artifacts and deliverables

Page 17: Objectives

17Object-Oriented Analysis and Design with the Unified Process

Techniques Technique

Collection of guidelines

Enables an analyst to complete an activity or task

Example techniques

Domain-modeling , use case modeling, software-testing, user-interviewing techniques, relational database design techniques

Proven techniques are embraced as “Best Practices”

Page 18: Objectives

18Object-Oriented Analysis and Design with the Unified Process

Tools Tool: software used to create models or components

Example tools

Project management software tools (Microsoft Project)

Integrated development environments (Visual Studio)

Code generators

ERD modeling software

Automated testing tools

Page 19: Objectives

19Object-Oriented Analysis and Design with the Unified Process

Models Model is abstract (separate) aspects of the real world

Models come in many forms

Physical analogs, mathematical, graphical

System development models are highly abstract

Depict inputs, outputs, processes, data, objects, interactions, locations, networks, and devices

Unified Modeling Language (UML): standard notation

PERT or Gantt charts: model project itself

Page 20: Objectives

20Object-Oriented Analysis and Design with the Unified Process

Some Models used in System Development

Page 21: Objectives

21Object-Oriented Analysis and Design with the Unified Process

Relationships of Models, Tools, and Techniques in a System Development Methodology

Page 22: Objectives

22Object-Oriented Analysis and Design with the Unified Process

The Unified Process as a System Development Methodology

UP: object-oriented system development methodology

UP should be tailored to organizational and project needs

Barbara Halifax selects a “lighter” UP variation for RMO’s customer support system project

Project will be use case driven

Page 23: Objectives

23Object-Oriented Analysis and Design with the Unified Process

The Unified Process as a System Development Methodology

(continued) Use case

Activity or process that the system carries out Basis for defining requirements and designs

UP defines disciplines within each phase Discipline: set of functionally related activities Iterations concatenate activities from all disciplines Activities in each discipline produce artifacts; models,

documents, source code, and executables

Page 24: Objectives

24Object-Oriented Analysis and Design with the Unified Process

The UP Disciplines Six main UP development disciplines

Business modeling, requirements, design, implementation, testing, and deployment

Each iteration Similar to a mini-project Results in a completed portion of the system

Three additional support disciplines Project management, configuration and change

management, and environment

Page 25: Objectives

25Object-Oriented Analysis and Design with the Unified Process

UP Life Cycle with Phases, Iterations, and Disciplines

Page 26: Objectives

26Object-Oriented Analysis and Design with the Unified Process

Business Modeling

Purpose: understand business environment

Three major activities part of business modeling

Understand surroundings

Create the system vision

Create business models

Page 27: Objectives

27Object-Oriented Analysis and Design with the Unified Process

Requirements

Objective: document business requirements Key drivers of activities: discovery and understanding Requirements discipline and business modeling map

to traditional systems analysis Activities list

Gather detailed information Define functional and nonfunctional requirements Develop user interface prototype Evaluate requirements with users

Page 28: Objectives

28Object-Oriented Analysis and Design with the Unified Process

Design Objective: design system based on requirements Six major activities in the design discipline

Design support services architecture and deployment environment

Design the software architecture Design use case realizations Design the database Design the system and user interfaces Design the system security and controls

Page 29: Objectives

29Object-Oriented Analysis and Design with the Unified Process

Implementation

Objective: build or acquire needed system components

Implementation activities

Build software components

Acquire software components

Integrate software components

Page 30: Objectives

30Object-Oriented Analysis and Design with the Unified Process

Testing Testing is critical discipline

Testing activities

Define and conduct unit testing

Define and conduct integration testing

Define and conduct system testing

Define and conduct usability testing

Define and conduct user acceptance testing

In UP, acceptance testing occurs throughout the building phase

Page 31: Objectives

31Object-Oriented Analysis and Design with the Unified Process

Deployment

Goal: conduct activities to make system operational

Deployment activities

Acquire hardware and system software

Package and install components

Train users

Convert and initialize data

Deployment activities prominent in transition phase

Page 32: Objectives

32Object-Oriented Analysis and Design with the Unified Process

Project Management Most important support discipline

Project management activities

Finalize the system and project scope

Develop the project and iteration schedule

Identify project risks and confirm feasibility

Monitor and control the project’s plan

Monitor and control communications

Monitor and control risks and outstanding issues

Page 33: Objectives

33Object-Oriented Analysis and Design with the Unified Process

Configuration and Change Management

Configuration and change discipline pertains to: Requirements

Design

Source code

Executables

The two activities in this discipline Develop change control procedures

Manage models and software components

Page 34: Objectives

34Object-Oriented Analysis and Design with the Unified Process

Environment Development environment includes

Available facilities

Design of the workspace

Forums for team communication and interaction

Environment discipline activities Select and configure the development tools

Tailor the UP development process

Provide technical support services

Page 35: Objectives

35Object-Oriented Analysis and Design with the Unified Process

Overview of Object-Oriented Concepts

Object-oriented analysis (OOA) views system as a collection of objects

Each domain object represents a thing in system

Object capable of responding to messages

Each object has identity because of the attribute values

Object-oriented design (OOD)

Defines additional solution objects

Shows how the objects interact to complete tasks

Refines definition of objects for implementation

Object-oriented programming (OOP): object coding

Languages: Simula, C++, Java, C#, Visual Basic .NET

Page 36: Objectives

36Object-Oriented Analysis and Design with the Unified Process

 Recognizing the Benefits of OO

Development Original application of object-oriented technology

Computer simulations

Graphical user interfaces

Rationale for use in information systems

Benefits of naturalness

Reusability

 

Page 37: Objectives

37Object-Oriented Analysis and Design with the Unified Process

Objects Are More Natural OO approach mirrors human perception: objects

moving through space OOA, OOD, and OOP imitate perceptual processes by

modeling classes of objects Some system developers resist OO development New programmers are more receptive to OO approach System users appreciate object-orientation

They discuss the objects involved in their work Hierarchies are common tools for organizing knowledge

Page 38: Objectives

38Object-Oriented Analysis and Design with the Unified Process

Classes of Objects Can Be Reused

Classes of objects have a long shelf life

Example: Customer class adaptability

Reused in systems where customer objects needed

Extended through inheritance to a new subclass

Reused during analysis, design, or programming

Example: .NET class framework for Windows

Page 39: Objectives

39Object-Oriented Analysis and Design with the Unified Process

Understanding Object-Oriented Concepts

Object: thing with attributes and behaviors

Types of objects

Solution domain objects (User interface)

Problem domain objects (Customer)

Attributes are associated with data give object identity

Behaviors are associated with methods, functions, and procedures

Page 40: Objectives

40Object-Oriented Analysis and Design with the Unified Process

Figure 2-18Attributes and Methods in Problem Domain Objects

Page 41: Objectives

41Object-Oriented Analysis and Design with the Unified Process

Understanding Object-Oriented Concepts (continued)

A Class defines a template for all objects of class

Objects are instances of a class

Customer object is an instance of a Customer class

Objects interact through messages

Objects have identity based on value of attributes

Page 42: Objectives

42Object-Oriented Analysis and Design with the Unified Process

Class and Object Representation

Class Objects in Memory

29384James Jones123 MainFlagstaffAZ86002

39203John Smith123 ElmFlagstaffAZ86001

Customer

id : doublename : stringaddress : stringcity : stringstate : stringzip : string

Identity by

attribute value

Instantiated objects

Page 43: Objectives

43Object-Oriented Analysis and Design with the Unified Process

Understanding Object-Oriented Concepts (continued)

Objects can maintain static association relationships Encapsulation: combining attributes and methods into one

unit Information hiding: separating specification from

implementation Inheritance: extending the characteristics of a class Polymorphism: ability for dissimilar objects to respond to

the same message

Page 44: Objectives

44Object-Oriented Analysis and Design with the Unified Process

Figure 2-20Order-processing system where objects interact by sending messages

Page 45: Objectives

45Object-Oriented Analysis and Design with the Unified Process

Figure 2-22Superclasses and Subclasses

Page 46: Objectives

46Object-Oriented Analysis and Design with the Unified Process

Tools to Support System Development

CASE (Computer Aided System Engineering) Database repository for information system

Set of tools that help analysts complete activities

Sample artifacts: models, automatically generated code

Variations on CASE Visual modeling tools

Integrated application development tools

Round-trip engineering tools

Page 47: Objectives

47Object-Oriented Analysis and Design with the Unified Process

Figure 2-24A Case Tool Repository Contains All Information About the System

Page 48: Objectives

48Object-Oriented Analysis and Design with the Unified Process

Tools to Support System Development (continued)

Microsoft Visio: emphasizes technical drawing Rational Rose

CASE tool supporting object-oriented approach Strongly identified with  UP methodology

Together Pioneers round-trip engineering

◘ synchronizes graphical models with generated program code

Leverages UML diagrams

Page 49: Objectives

49Object-Oriented Analysis and Design with the Unified Process

Figure 2-26Visual Modeling Tool Rational Rose Displaying UML Diagrams

Page 50: Objectives

50Object-Oriented Analysis and Design with the Unified Process

Tools to Support System Development (continued)

Embarcadero Describe

Visual Modeling

Round-trip engineering

Rational XDE Professional

Integrates Microsoft Visual Studio.NET IDE

Also provides visual modeling and round-trip

Page 51: Objectives

51Object-Oriented Analysis and Design with the Unified Process

Figure 2-29Rational XDE Professional is integrated with Visual Studio .NET

Page 52: Objectives

52Object-Oriented Analysis and Design with the Unified Process

Summary

SDLC: set of activities required to complete system development project

Predictive SDLC: executes project in sequential phases (waterfall approach)

Adaptive SDLC: accommodates change and phase overlap

Spiral SDLC model introduces iterations (cycles)

UP is an adaptive system development methodology

Page 53: Objectives

53Object-Oriented Analysis and Design with the Unified Process

Summary (continued) UP life cycle includes four phases-inception,

elaboration, construction, and transition

UP phases decomposed into one ore more iterations

Iterations involve work in nine UP disciplines

UP is object-oriented

Object-oriented concepts: object, class, methods, encapsulation, associations, inheritance, polymorphism

CASE: automation tools simplify development tasks