Jeet ooad unit-2

43
Unit -2 Review of Unit -1 SDLC(Software Dev. Life Cycle) Process Model Different OO Method for Modeling Object Oriented Analysis & Design

description

Object Oriented Analysis and Design unit 2

Transcript of Jeet ooad unit-2

Page 1: Jeet ooad unit-2

Unit -2•Review of Unit -1•SDLC(Software Dev. Life Cycle)•Process Model•Different OO Method for Modeling

Object Oriented Analysis & Design

Page 2: Jeet ooad unit-2

Object DefinitionTwo aspects: Information:1) has a unique identity2) has a description of its structure3) has a state representing its current

condition Behavior:1) what can an object do?2) what can be done to it?

Review of Unit -1

Page 3: Jeet ooad unit-2

Example of an Object - Printer1) information:

a) serial numberb) modelc) speedd) memorye) status

2) behavior:a) print fileb) stop printingc) empty the queue

Review of Unit -1

Page 4: Jeet ooad unit-2

Class Definition- 1) any uniquely identified abstraction of a set of

logicallyrelated instances that share similar characteristics2) rules that define objects3) a definition or template that describes how to

build anaccurate representation of a specific type of objectsExamples: agency, citizen, car, etc.Objects are created using class definitions as

templates.

Review of Unit -1

Page 5: Jeet ooad unit-2

Review of Unit -1

Page 6: Jeet ooad unit-2

Attribute DefinitionAttribute is a named property of a class

describing a range of values that instances of the class may hold for that property.

An attribute has a type and defines the type of its instances.

Only the object is able to change the values of its own attributes.

The set of attribute values defines the state of the object.

Review of Unit -1

Page 7: Jeet ooad unit-2

Review of Unit -1

Page 8: Jeet ooad unit-2

Operation Definition-Operation is the implementation of a service

that can be requested from any object of a given class.

An operation could be:1. a question - does not change the values of

the attributes2. a command – may change the values of the

attributes

Review of Unit -1

Page 9: Jeet ooad unit-2

Review of Unit -1

Page 10: Jeet ooad unit-2

Relationships:• between classes (relations)• between objects (links)

• Three kinds of relations between classes:1) association2) aggregation3) composition

Relationship & Links

Page 11: Jeet ooad unit-2

Association1. the simplest form of

relation between classes

2. peer-to-peer relations

3. one object is aware of the existence of another object

4. implemented in objects as references

Professor

University

Works for

Class

Association

Association Name

Page 12: Jeet ooad unit-2
Page 13: Jeet ooad unit-2

Aggregation1. a restrictive form of “part-of” association

2. objects are assembled to create a more complex object

3. assembly may be physical or logical

4. defines a single point of control for participating objects

5. the aggregate object coordinates its parts

Page 14: Jeet ooad unit-2
Page 15: Jeet ooad unit-2

Composition1. a stricter form of aggregation

2. lifespan of individual objects depend on the on lifespan of the aggregate object.

3. parts cannot exist on their own

4. there is a create-delete dependency of the parts to the whole

Page 16: Jeet ooad unit-2
Page 17: Jeet ooad unit-2

Abctract Class1. a class that lacks a complete

implementation providesoperations without implementing some

methods.

2. cannot be used to create objects; cannot be instantiated

3. a concrete sub-class must provide methods for

unimplemented operations

Page 18: Jeet ooad unit-2

1. has methods for all operations

2. can be instantiated

3. methods may be:a) defined in the class orb) inherited from a super-class

Concrete Class

Page 19: Jeet ooad unit-2

DiscriminatorDiscriminator – an

attribute that defines sub-classes

Example: “status” of agency staff is a possible discriminator to derive “management”, “senior” and “junior” sub-classes.

Page 20: Jeet ooad unit-2

Introduction of Software Development Life Cycle

Different Views of SDLCProcess Model used in SDLCUnified Process Model

Unit - 2

Page 21: Jeet ooad unit-2

Software is like humans.

It has a life cycle.

Software in a system is conceptualized first.

It becomes obsolescent at the end.

The period in between is called the software life cycle.

Software Life Cycle

Page 22: Jeet ooad unit-2

SDLC: process of building, deploying, using, and

updating an information systemText focus: initial development projectChief variations of SDLC (a) Predictive: project planned entirely in

advance (b) Adaptive: planning leaves room for

contingenciesPure approaches to SDLC are rareMost projects have predictive and adaptive

elements

Software Dev. Life Cycle(SDLC)

Page 23: Jeet ooad unit-2
Page 24: Jeet ooad unit-2

The Traditional Predictive SDLC ApproachesFive 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 approachTempers pure waterfall by recognizing phase overlapInforms many current projects and company systems

Page 25: Jeet ooad unit-2
Page 26: Jeet ooad unit-2
Page 27: Jeet ooad unit-2

Why waterfall model fails When there is uncertainty regarding what’s required or

how it can be built Assumes requirements are known before design begins

sometimes needs experience with product before requirements can be fully understood

Assumes requirements remain static over development cycle product delivered meets delivery-time needs

Assumes sufficient design knowledge to build product best for well-understood product in able to cater software special properties or partially

understood issues doesn’t emphasize or encourage software reuse

Problem if environment changes request changes in programs

Page 28: Jeet ooad unit-2

Goal is user satisfactionhow do we determine system is ready for

delivery

is it now an operational system that satisfies users’needs

is it correct and operating as we thought it should ?

Does it pass an evaluation process ?

Building high quality software

Page 29: Jeet ooad unit-2

Test according to how it has been built what it should do

4 quality measures correspondence

measures how well delivered system matches needs of operational environment, as described in original requirements statement

validation task of predicting correspondence (true correspondence only

determined after system is in place) correctness

measures consistency of product requirements with respect to design specification

verification exercise of determining correctness (correctness objective =>

always possible to determine if product precisely satisfies requirements of specification)

Approaches to systems testing

Page 30: Jeet ooad unit-2

Quality Measures

Page 31: Jeet ooad unit-2

Verification am I building the product right ? Begin after specification accepted

Validation am I building the right product ? Subjective - is specification appropriate ? Uncover true

users’ needs , therefore establish proper design ? Begins as soon as project starts

Verification & validation independent of each other even if product follows spec, it may be a wrong product

if specification is wrong eg: report missing, initial design no longer reflect

current needs If specification informal, difficult to separate verification

and validation

Verification vs Validation

Page 32: Jeet ooad unit-2

The Newer Adaptive Approaches to the SDLCThe spiral model: early form of adaptive

SDLC Activities radiate from center starting point Prototypes are artifacts of each phaseIterative problem solving: repeats activitiesSeveral 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 33: Jeet ooad unit-2
Page 34: Jeet ooad unit-2

The Unified Process Life CycleUP life cycle Includes (4) phases which consist of

iterations Iterations are “mini-projects”Inception: develop and refine system visionElaboration: define requirements and core

architectureConstruction: continue design and

implementationTransition: move the system into operational

mode

Page 35: Jeet ooad unit-2
Page 36: Jeet ooad unit-2
Page 37: Jeet ooad unit-2

Four Phases In The UnifiedProcessInception (Make the Business Case)

Elaboration (Define the system architecture)

Construction (Construct the system)

Transition (Integrate the system with the using

organization)

Page 38: Jeet ooad unit-2

System development methodology Provides guidelines every activity in

system development Includes specific models, tools, and

techniquesUP is a system development methodologyProcess is a synonym for methodologyMethodologies supported with documentation

Methodologies, Models, Tools,and Techniques

Page 39: Jeet ooad unit-2

Model abstract (separate) aspects of the real world

Models come in many forms Physical analogs, mathematical, graphicalSystem development models are highly

abstract Depict inputs, outputs, processes, data,

objects, interactions, locations, networks, and

devicesUnified Modeling Language (UML): standard

notationPERT or Gantt charts: model project itself

Models

Page 40: Jeet ooad unit-2
Page 41: Jeet ooad unit-2

ToolsTool: software used to create models or

componentsExample tools-o Project management software tools

(Microsoft Project)o Integrated development environments (IDEs)o Code generatorso Computer-aided system engineering (CASE)

Page 42: Jeet ooad unit-2

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 techniquesProven techniques are embraced as “Best

Practices”

Techniques

Page 43: Jeet ooad unit-2