Download
object oriented analysis and design n.
Skip this Video
Loading SlideShow in 5 Seconds..
Object-Oriented Analysis and Design PowerPoint Presentation
Download Presentation
Object-Oriented Analysis and Design

Object-Oriented Analysis and Design

168 Views Download Presentation
Download Presentation

Object-Oriented Analysis and Design

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Object-Oriented Analysis and Design

  2. Lesson 1:Introduction toSoftware Engineering

  3. Objectives • Define object technology and identify its place in the evolution of software engineering • Describe the differences between a structured approach and an object-oriented approach to software development • Identify the advantages and disadvantages of an object-oriented approach to software development • Discuss the need for analysis and design

  4. Evolution ofSoftware Engineering • Data flow • Programming languages • Software systems • Analysis and design methodologies

  5. Object Technology • Objects maintain properties about their state

  6. Advantages of anObject-Oriented Approach • Maintainable • Reusable • Scalable

  7. Analysisand Design • Unified Software Development Process • Software crisis

  8. Summary • Define object technology and identify its place in the evolution of software engineering • Describe the differences between a structured approach and an object-oriented approach to software development • Identify the advantages and disadvantages of an object-oriented approach to software development • Discuss the need for analysis and design

  9. Lesson 2:Understanding the Object Paradigm

  10. Objectives • Explain the difference between classes and instances • Identify the benefits of abstraction and encapsulation • Define a simple object model using the “has a” and “uses a” relationships • Describe Jacobson’s application object types

  11. Classes Classes Instantiation Objects

  12. Encapsulation • Methods • Accessors • Mutators

  13. Abstraction • Used to manage complexity

  14. ObjectRelationships • “has a” • “uses a”

  15. Application Objects • Entity objects • Interface objects • Control objects

  16. Summary • Explain the difference between classes and instances • Identify the benefits of abstraction and encapsulation • Define a simple object model using the “has a” and “uses a” relationships • Describe Jacobson’s application object types

  17. Lesson 3:Inheritanceand Polymorphism

  18. Objectives • Identify the benefits of inheritance • Identify the benefits of polymorphism • Define abstract classes • Identify the benefits of multiple inheritance

  19. Inheritance • Inheritance  the “is a” relationship • Superclasses • Inheriting attributes • Subclasses • Inheriting methods • Extending components with inheritance

  20. Polymorphism • The ability of subclasses to override methods defined in classes that are higher in the class hierarchy

  21. Abstract Classes • Declare methods without providing implementation

  22. MultipleInheritance • Inheritance from two or more superclasses

  23. Subtypingvs. Subclassing • Subtyping • Creating a subtype, which is a data type that provides the same interface as a supertype • Subclassing • Process by which a new class is created that shares the implementation of a superclass

  24. Summary • Identify the benefits of inheritance • Identify the benefits of polymorphism • Define abstract classes • Identify the benefits of multiple inheritance

  25. Lesson 4:Software Development Life Cycle

  26. Objectives • Define software development life cycle • Describe the Waterfall life cycle model • Describe the V-Shaped life cycle model • Describe the Incremental life cycle model • Describe the Spiral life cycle model

  27. Software DevelopmentLife Cycle Model • Requirements gathering • Design • Implementation • Testing

  28. WaterfallLife Cycle Model • Classic, or linear-sequential, life cycle model • Characterized by a series of discrete phases that must be completed in a linear sequential order

  29. V-ShapedLife Cycle Model • Adds emphasis to testing

  30. IncrementalLife Cycle Model • Evolutionary • A working version of the software is created by the end of the first iteration, and subsequent iterations build on the work of earlier iterations

  31. SpiralLife Cycle Model • Incorporates risk analysis • Divided into four phases • Planning • Risk analysis • Engineering • Evaluation

  32. Summary • Define software development life cycle • Describe the Waterfall life cycle model • Describe the V-Shaped life cycle model • Describe the Incremental life cycle model • Describe the Spiral life cycle model

  33. Lesson 5:The Unified SoftwareDevelopment Process

  34. Objectives • Describe the Unified Process • Identify the phases of the Unified Process • Identify the core workflows of the Unified Process

  35. The Unified Process • Use-case driven • Architecture-centric • Iterative and incremental

  36. Life Cycle ofthe Unified Process • Cycles • Single cycle

  37. UnifiedProcess Phases • Inception • Elaboration • Architecture baseline • Construction • Beta release • Beta test • Transition

  38. UnifiedProcess Iterations • Increments

  39. Core Workflowsof the Unified Process • Requirements • Analysis • Design • Implementation • Test

  40. Summary • Describe the Unified Process • Identify the phases of the Unified Process • Identify the core workflows of the Unified Process

  41. Lesson 6:UnifiedModeling Language

  42. Objectives • Describe the history of the UML • Describe the purpose of a modeling language • Describe the purpose of models • Identify UML views

  43. UMLModels • Modeling levels • High-level models • Abstract models • Full specification models

  44. Static Use-case Implementation Deployment State machine Activity Interaction Model management UMLViews

  45. Summary • Describe the history of the UML • Describe the purpose of a modeling language • Describe the purpose of models • Identify UML views

  46. Lesson 7:Computer-AidedSoftware Engineering

  47. Objectives • Identify the role of CASE tools in the software development process • Identify the criteria for selecting a CASE tool • Identify the benefits and limitations of CASE tools • Install and use Argo/UML

  48. Selecting a CASE Tool • Methodology • Flexibility • Collaboration • Diagram validation

  49. Summary • Identify the role of CASE tools in the software development process • Identify the criteria for selecting a CASE tool • Identify the benefits and limitations of CASE tools • Install and use Argo/UML

  50. Lesson 8:The Requirements Workflow