0
Object Oriented Systems  Analysis and Design        Chapter 1
The Potential Benefits of Object                   Orientation• Popularized in the late 1980’s• Became the standard in mid...
Increased Reusability• Through the concepts  – Inheritance  – Polymorphism  – Encapsulation  – Modularity  – Coupling  – C...
Increased Extensibility• Because classes have both data and functionality  when you add new features to the system, you on...
Improved Quality• On time, on budget, meet user expectations• OO devt techniques provide greater  opportunity for users to...
Financial Benefits• The previous benefits are all technical benefits – giving  business benefits of OO• Better Faster Chea...
Increased Chance of Project Success• Success - On time, On budget, meeting user  needs• OO is the way to develop systems q...
Reduced Maintenance Burden• Problems   – Maintenance Burden – Spending Significant Resources     maintaining software   – ...
Reduced Application Backlog• 2-5 year AB exists              Project                    Project                   System  ...
Managed Complexity• You can build complex software from well  designed reusable objects• Expect the software you build tod...
Drawbacks of OO• Requires a greater concentration on requirement  analysis which is often ignored in reality• Developers m...
Drawbacks …• Techniques do not guarantee you will build  the right system• Necessitates increased testing• OO is only part...
The Object Oriented Software Process Lifecycle                                                                       Deliv...
The Object Oriented Software Process• Software process  – Set of project phases, stages, methods,    techniques, and pract...
Upcoming SlideShare
Loading in...5
×

Oosad 01

927

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
927
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • The structured paradigm is a development strategy based on the concept that a system should be separated into two parts: data and functionality where on the other hand, the main concept behind the object oriented paradigm is that instead of defining systems as two separate parts, you now define systems as collection of interacting objects.
  • What is the essence of reusability and why cant it be achieved in structured systems development? What is the advantage of reusability? How does each of the stated concepts increase reusability? See if you can find examples in each of your projects.
  • Provide examples to the application of extensibility, an advantage of OO
  • Bulk requirement definitions? Find examples
  • What were the technical benefits? How would the technical benefits lead to business benefits?
  • Why do you thing the legacy systems are poorly built? How would maintenance burden and application backlog create problem in a system development lifecycle?
  • Explain the figure in this slide.
  • Why is requirement analysis ignored in reality? Why are developers and users far apart in the system development process? Describe the change in mindset that is expected from individuals in OO Describe how the benefits are assumed to be in the long run? Up front investments?
  • Why do we need more testing in OO?
  • Explain the figure?
  • What other software processes are there?
  • Transcript of "Oosad 01"

    1. 1. Object Oriented Systems Analysis and Design Chapter 1
    2. 2. The Potential Benefits of Object Orientation• Popularized in the late 1980’s• Became the standard in mid – 1990s• Benefits – Increased reusability – Increased extensibility – Improved quality – Financial benefits – Increased chance of project success – Reduced maintenance burden – Reduced application backlog – Managed complexity
    3. 3. Increased Reusability• Through the concepts – Inheritance – Polymorphism – Encapsulation – Modularity – Coupling – Cohesion
    4. 4. Increased Extensibility• Because classes have both data and functionality when you add new features to the system, you only need to make changes in one place: the applicable class• Structured – change in single business rule could affect many programs• Objects encapsulate both functionality and data, making it easier to maintain your software• Inheritance enables you to reuse existing behaviors, making it easier to enhance your software
    5. 5. Improved Quality• On time, on budget, meet user expectations• OO devt techniques provide greater opportunity for users to participate in the development process.• Bulk requirement definitions – Essential Use Case and CRC models
    6. 6. Financial Benefits• The previous benefits are all technical benefits – giving business benefits of OO• Better Faster Cheaper (BFC)• The less code the less effort to maintain• A system that is easily extensible is easy to maintain• System that meets user needs receive fewer changes• Benefits of OO are realized throughout the entire development lifecycle, not just during programming• Therefore, because Technical Benefits are achieved BFC can be achieved
    7. 7. Increased Chance of Project Success• Success - On time, On budget, meeting user needs• OO is the way to develop systems quickly and inexpensively
    8. 8. Reduced Maintenance Burden• Problems – Maintenance Burden – Spending Significant Resources maintaining software – Application Backlog – Long waiting list of things to be done making new projects not to start• The Maintenance Burden exists for several reasons – Many systems were developed in the past that are still in use – System documentation is poor, if it exists at all – Compared to the standards of today, legacy systems are poorly built
    9. 9. Reduced Application Backlog• 2-5 year AB exists Project Project System Idea Proposed Begins Released Application Backlog Development time Total Implementation Time• Because OO techniques are more productive, organizations are able to free up resources sooner to tackle new projects
    10. 10. Managed Complexity• You can build complex software from well designed reusable objects• Expect the software you build today will need to be changed tomorrow• Well designed object oriented software enables you to react quickly to changes in your environment
    11. 11. Drawbacks of OO• Requires a greater concentration on requirement analysis which is often ignored in reality• Developers must work closely with users, which is easier said than done• Requires a complete change in mindset on the part of individuals• Is more than just programming, not easy and not that quick• Benefits are on the long run• Demands up-front investments in training, education and tools
    12. 12. Drawbacks …• Techniques do not guarantee you will build the right system• Necessitates increased testing• OO is only part of the solution – not a silver bullet or a panacea – Need CASE tools – Quality Assurance Tasks – Develop user interface tasks
    13. 13. The Object Oriented Software Process Lifecycle Deliver Deliver Maintain and Support Maintain and Support Initiate Initiate Construct Construct Define and Test in validate Model Test in the Large Release Justify initial requirement the Small Support sDefine Initial Identity DefectsManagement Define Infrastructure Generalize Program Rework Assess andDocuments Enhancements Assure quality, Manage the Project, Train and Educate, Manage People, Manage Risk, Manage Reuse, Manage Metrics, Manage Deliverables, Manage Infrastructure
    14. 14. The Object Oriented Software Process• Software process – Set of project phases, stages, methods, techniques, and practices that people employ to develop and maintain software and its associated artifacts – Enables orgns to increase productivity when developing software
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×