Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Oosad 01

1,978 views

Published on

  • Be the first to comment

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

×