1 / 119

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering. Objectives. Define object technology and identify its place in the evolution of software engineering

bill
Download Presentation

Object-Oriented Analysis and Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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  “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. Summary • Identify the benefits of inheritance • Identify the benefits of polymorphism • Define abstract classes • Identify the benefits of multiple inheritance

  24. Lesson 4:Software DevelopmentLife Cycle

  25. 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

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

  27. 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

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

  29. 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

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

  31. 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

  32. Lesson 5:The Unified SoftwareDevelopment Process

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

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

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

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

  37. Iterations • Increments

  38. Core Workflows • Requirements • Analysis • Design • Implementation • Test

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

  40. Lesson 6:The UnifiedModeling Language

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

  42. Models • Modeling levels • High-level models • Abstract models • Full specification models

  43. Static Use-case Implementation Deployment State machine Activity Interaction Model management Views

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

  45. Lesson 7:Computer-AidedSoftware Engineering

  46. 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

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

  48. 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

  49. Lesson 8:The RequirementsWorkflow

  50. Objectives • Describe the purpose of the requirements workflow • Describe the activities of the requirements workflow • Describe the deliverables of the requirements workflow • Create a list of candidate requirements • Create a simple domain model

More Related