Jeet ooad unit-2
-
Upload
jitendra-rathore -
Category
Education
-
view
1.232 -
download
2
description
Transcript of 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
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
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
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
Review of Unit -1
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
Review of Unit -1
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
Review of Unit -1
Relationships:• between classes (relations)• between objects (links)
• Three kinds of relations between classes:1) association2) aggregation3) composition
Relationship & Links
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
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
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
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
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
DiscriminatorDiscriminator – an
attribute that defines sub-classes
Example: “status” of agency staff is a possible discriminator to derive “management”, “senior” and “junior” sub-classes.
Introduction of Software Development Life Cycle
Different Views of SDLCProcess Model used in SDLCUnified Process Model
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
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)
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
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
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
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
Quality Measures
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
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
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
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)
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
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
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)
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