Jeet ooad unit-2
Upcoming SlideShare
Loading in...5

Jeet ooad unit-2



Object Oriented Analysis and Design unit 2

Object Oriented Analysis and Design unit 2



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Sir,Very Helpful Presentation
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Jeet ooad unit-2 Jeet ooad unit-2 Presentation Transcript

  • Unit -2•Review of Unit -1•SDLC(Software Dev. Life Cycle)•Process Model•Different OO Method for Modeling
  • 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?
  • Example of an Object - Printer1) information: a) serial number b) model c) speed d) memory e) status2) behavior: a) print file b) stop printing c) empty the queue
  •  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.
  •  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.
  •  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
  •  Relationships:• between classes (relations)• between objects (links)• Three kinds of relations between classes:1) association2) aggregation3) composition
  • 1. the simplest form of Association Name relation between classes2. peer-to-peer relations University3. one object is aware of the Professor Works for existence of another object4. implemented in objects as references Association Class
  • 1. a restrictive form of “part-of” association2. objects are assembled to create a more complex object3. assembly may be physical or logical4. defines a single point of control for participating objects5. the aggregate object coordinates its parts
  • 1. a stricter form of aggregation2. lifespan of individual objects depend on the on lifespan of the aggregate object.3. parts cannot exist on their own4. there is a create-delete dependency of the parts to the whole
  • 1. a class that lacks a complete implementation providesoperations without implementing some methods.2. cannot be used to create objects; cannot be instantiated3. a concrete sub-class must provide methods forunimplemented operations
  • 1. has methods for all operations2. can be instantiated3. methods may be:a) defined in the class orb) inherited from a super-class
  • Discriminator – an attribute that defines sub-classesExample: “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 SDLC Process Model used in SDLC Unified Process Model
  •  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.
  •  SDLC: process of building, deploying, using, and updating an information system Text focus: initial development project Chief variations of SDLC (a) Predictive: project planned entirely in advance (b) Adaptive: planning leaves room for contingencies Pure approaches to SDLC are rare Most projects have predictive and adaptive elements
  •  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
  •  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 satisfaction  how 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 ?
  •  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)
  •  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
  •  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
  •  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
  •  Inception (Make the Business Case) Elaboration (Define the system architecture) Construction (Construct the system) Transition (Integrate the system with the usingorganization)
  •  System development methodology Provides guidelines every activity in system development Includes specific models, tools, and techniques UP is a system development methodology Process is a synonym for methodology Methodologies supported with documentation
  •  Model 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
  •  Tool: software used to create models or components Example 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 techniques Proven techniques are embraced as “Best Practices”