objectives

66

Upload: esma

Post on 04-Jan-2016

33 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

Overview

Traditional systems development life cycle (SDLC) Unified Process (UP)

Iterative, incremental, adaptive approach to life cycle Nine disciplines: six for system development, three

for support Review object-oriented (OO) concepts Describe computer support tools such as CASE Apply UP to the development project of RMO

Page 5: Objectives

5Object-Oriented Analysis and Design with the Unified Process

 The Systems Development Life

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

updating an information system 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 6: Objectives

6Object-Oriented Analysis and Design with the Unified Process

Figure 2-1Predictive versus adaptive approaches to the SDLC

Page 7: Objectives

7Object-Oriented Analysis and Design with the Unified Process

The Systems Development Life Cycle

Predictive approach Example: A company that want to convert its old,

mainframe inventory system to a newer networked client/server system.

Page 8: Objectives

8Object-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 The phases of project must overlap, influencing and

depending on each other.

Page 9: Objectives

9Object-Oriented Analysis and Design with the Unified Process

Figure 2-3SDLC Phases and Objectives

Page 10: Objectives

10Object-Oriented Analysis and Design with the Unified Process

Figure 2-4The Waterfall Approach to the SDLC

Page 11: Objectives

11Object-Oriented Analysis and Design with the Unified Process

PROJECT PLANNINGPROJECT PLANNING ADDITIONAL PROJECT MANAGEMENT TASKSADDITIONAL PROJECT MANAGEMENT TASKS

ANALYSISANALYSIS ADDITIONAL ANALYSIS ACTIVITIES

ADDITIONAL ANALYSIS ACTIVITIES

DESIGNDESIGN ADDITIONAL DESIGN ACTIVITIES

ADDITIONAL DESIGN ACTIVITIES

IMPLEMENTATIONIMPLEMENTATION

SUPPORT

Figure 2-5The Overlap of System Development

Activities

Page 12: Objectives

12Object-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 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 Complete parts incrementally

Page 13: Objectives

13Object-Oriented Analysis and Design with the Unified Process

Figure 2-6The Spiral Life Cycle Model

Page 14: Objectives

14Object-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 15: Objectives

15Object-Oriented Analysis and Design with the Unified Process

Figure 2-8The Unified Process System Development Life Cycle

Page 16: Objectives

16Object-Oriented Analysis and Design with the Unified Process

Figure 2-9UP Phases and Objectives

Page 17: Objectives

17Object-Oriented Analysis and Design with the Unified Process

Methodologies, Models, Tools, and Techniques

Analysts have a wide variety of aids to help them complete activities and tasks in system development beyond SDLC.

Page 18: Objectives

18Object-Oriented Analysis and Design with the Unified Process

Methodologies and System Development Processes

System development methodology

Provides guidelines every activity in system development

Includes specific models, tools, and techniques

UP is a system development methodology

Methodologies supported with documentation

Page 19: Objectives

19Object-Oriented Analysis and Design with the Unified Process

Models A model is a representation of an important aspect 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

Figure 2-10Some Models used in System Development

Page 21: Objectives

21Object-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 (IDEs)

Code generators

Computer-aided system engineering (CASE)

Page 22: Objectives

22Object-Oriented Analysis and Design with the Unified Process

Tools Integrated development environments (IDEs) is a software application

that provides comprehensive facilities to computer programmers for software development.

An IDE normally consists of a:

– source code editor,

– compiler and/or interpreter,

– build automation tools, and

– debugger (usually).

Example: Eclipse, Mic. Visual Studio and recent versions of Netbeans

Page 23: Objectives

23Object-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 24: Objectives

24Object-Oriented Analysis and Design with the Unified Process

Figure 2-13Relationships of Models, Tools, and Techniques in a System

Development Methodology

Page 25: Objectives

25Object-Oriented Analysis and Design with the Unified Process

The Unified Process as a System Development Methodology

UP: object-oriented system development methodology , offered by Rational Software, which is now part of IBM.

UP should be tailored to organizational and project needs

Project will be use case driven

Page 26: Objectives

26Object-Oriented Analysis and Design with the Unified Process

The Unified Process as a System Development Methodology

(continued) Use case

Activity 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 27: Objectives

27Object-Oriented Analysis and Design with the Unified Process

Figure 2-15UP Life Cycle with Phases, Iterations, and Disciplines

Page 28: Objectives

28Object-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 29: Objectives

29Object-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 (define - system objective, system capabilities and primary business benefits)

Create business models

Page 30: Objectives

30Object-Oriented Analysis and Design with the Unified Process

Requirements

Objective: document business requirements Key drivers of activities: discovery and

understanding Activities list

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

Page 31: Objectives

31Object-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 (the design of the s/ware that

implements each use case)

Design the database Design the system and user interfaces Design the system security and controls

Page 32: Objectives

32Object-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 33: Objectives

33Object-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 usability testing

Define and conduct user acceptance testing

In UP, acceptance testing occurs throughout the building phase

Page 34: Objectives

34Object-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 35: Objectives

35Object-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 36: Objectives

36Object-Oriented Analysis and Design with the Unified Process

Configuration and Change Management

As the project progresses, many changes occur in: Requirements

Design

Source code

Executables

The two activities in this discipline Develop change control procedures

Manage models and software components

Page 37: Objectives

37Object-Oriented Analysis and Design with the Unified Process

Environment Managing 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 38: Objectives

38Object-Oriented Analysis and Design with the Unified Process

Overview of Object-Oriented Concepts

OOA views system as a collection of objects

Object: entity capable of responding to messages

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

Object-oriented design (OOD) Defines additional types of communication objects

Shows how the objects interact to complete tasks

Refines definition of objects for implementation

Object-oriented programming (OOP): object coding

Page 39: Objectives

39Object-Oriented Analysis and Design with the Unified Process

 Recognizing the Benefits of OO

Development Rationale for use in information systems

Benefits of naturalness

Reusability

 

Page 40: Objectives

40Object-Oriented Analysis and Design with the Unified Process

Objects are More Natural OO approach mirrors human perception OOA, OOD, and OOP imitate perceptual processes by

modeling classes of objects Some system developers resist OO development They have get used to procedural programming Many experienced developers have had difficulty

learning the OO approach New programmers are more receptive to OO approach

Page 41: Objectives

41Object-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

Classes may be stored, with implementation hidden, in class libraries

Page 42: Objectives

42Object-Oriented Analysis and Design with the Unified Process

Understanding Object-Oriented Concepts

Object: thing with attributes and behaviors

Types of objects

User interface

Problem domain objects

Attributes are associated with data

Behaviors are associated with methods, functions, and procedures

Page 43: Objectives

43Object-Oriented Analysis and Design with the Unified Process

Figure 2-18Attributes and Methods in Problem Domain Objects

Page 44: Objectives

44Object-Oriented Analysis and Design with the Unified Process

Understanding Object-Oriented Concepts (continued)

Class: defines what all objects of class represent

Objects are instances of a class

Customer object is an instance of a customer class

Objects interact through messages

Objects retain memory of transactions

Page 45: Objectives

Example:

45Object-Oriented Analysis and Design with the Unified Process

UML diagram CheckingAccount class

Corresponding code for simple checking account object

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

attribute

method

Page 46: Objectives

46Object-Oriented Analysis and Design with the Unified Process

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

Page 47: Objectives

47Object-Oriented Analysis and Design with the Unified Process

Understanding Object-Oriented Concepts (continued)

Objects maintain 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 48: Objectives

Encapsulation

48Object-Oriented Analysis and Design with the Unified Process

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

Definition: Attributes (data) and behaviors (code) are encapsulated in to a single object.

attribute

methodsetter

getter

Page 49: Objectives

Encapsulation

In many cases, an attribute of the object will have both a getter and a setter – not always the case

What is always the case is that the getters and setters are used to control access to the attributes and this is a key part of encapsulation.

49Object-Oriented Analysis and Design with the Unified Process

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

Page 50: Objectives

Encapsulation Class shown in previous slide cannot be executed

directly. Example of an application that uses CheckingAccount class to instantiate and use a CheckingAccount object.

50Object-Oriented Analysis and Design with the Unified Process

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

object

Page 51: Objectives

Encapsulation

The application shown in previous slide instantiate a CheckingAccount object, called myAccount, set the value of balance to 40.00 and then print that balance out.

Output:

Starting myEncapsulation…..

Balance= 40.00

51Object-Oriented Analysis and Design with the Unified Process

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

Page 52: Objectives

Information/ Data Hiding

Definition: Access to all of an object’s attributes is tightly controlled.

Accomplished by making all the attributes private.

52Object-Oriented Analysis and Design with the Unified Process

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

Attribute is set to private

Page 53: Objectives

Information/ Data Hiding Trying to access the balance attribute directly

from the myAccount object.

53Object-Oriented Analysis and Design with the Unified Process

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

myAccount.setBalance (40.00)

Page 54: Objectives

Information/ Data Hiding

54Object-Oriented Analysis and Design with the Unified Process

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

Page 55: Objectives

Information/ Data Hiding If balance is declared to public, it will work but

violates the concept of data hiding. Data hiding, as with many other object-oriented

concepts, is a design decision. If the system is designed with attributes as private,

the compiler can help with enforcing data hiding. If the classes are designed with public attributes,

the application is not designed in an object-oriented manner.

55Object-Oriented Analysis and Design with the Unified Process

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

Page 56: Objectives

Inheritance Inheritance allows a class to inherit the attributes

and methods of another class.

56Object-Oriented Analysis and Design with the Unified Process

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

Page 57: Objectives

InheritanceThe Dog and Cat classes both inherit from Mammal. This means that a

Dog class actually has the following attributes:

eyeColor // inherited from Mammal

barkFrequency // defined only for Dogs

In the same vein, the Dog object has the following methods:

getEyeColor // inherited from Mammal

bark // defined only for Dogs

57Object-Oriented Analysis and Design with the Unified Process

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

superclass

subclasses

Page 58: Objectives

Polymorphism Ability for dissimilar objects to respond to the

same message. Read below article:

http://www.developer.com/tech/article.php/10923_3332401_2

58Object-Oriented Analysis and Design with the Unified Process

Reference: The Object-Oriented Thought Process, 2nd Edition by Matt Weisfeld

Page 59: Objectives

59Object-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 60: Objectives

60Object-Oriented Analysis and Design with the Unified Process

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

Page 61: Objectives

61Object-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 62: Objectives

62Object-Oriented Analysis and Design with the Unified Process

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

Page 63: Objectives

63Object-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 64: Objectives

64Object-Oriented Analysis and Design with the Unified Process

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

Page 65: Objectives

65Object-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 66: Objectives

66Object-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