1 / 32

CIS 112

This review covers the history, concepts, and techniques of the object-oriented approach in system development, including requirements modeling, hierarchies, and design. It also explores the benefits of the approach, such as improved quality, productivity, and flexibility. The review includes relevant keywords and text language from CIS 112 exam content.

carriel
Download Presentation

CIS 112

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. CIS 112 Exam Review

  2. Exam Content • 100 questions valued at 1 point each • 100 points total • 10 each from Chapters 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 • Exam is open-book, open-notes, internet access

  3. What We Covered • Chapter 1 • history of the object-oriented approach • Chapter 2 • introduction to the object-oriented approach • Chapter 3 • a way of thinking about objects • Chapter 4 • introduction to terms and concepts • Chapter 5 • UML notation for model building

  4. What We Covered • Chapter 6 • requirements modeling • Chapter 7 • hierarchies and requirements models • Chapter 8 • object-oriented system development life cycles • Chapter 9 • detailed case study • Chapter 10 • Object-oriented Design

  5. Object-oriented system development • building block approach to system development • identify the objects that are needed in the system • identify objects that already exist and can be reused

  6. Benefits of the object-oriented approach • addresses three pervasive problems with traditional system development • quality, productivity, and flexibility • each object is small thereby reducing complexity and leading to higher quality • an object can be reused once it is written, implemented, and tested • system can be easily modified by changing only the appropriate objects

  7. Hierarchies • organization of classes into super and sub classes • sub classes inherit attributes and methods from those above in the hierarch • allows system to be broken down into smaller pieces that are easier to understand, implement, maintain • ensures independence of system components

  8. Whole / Part Components Aggregation Whole Part Super Class Sub Class

  9. Generalization / Specialization Generalization Specialization Super Class Sub Class Source: http://people.cs.vt.edu/~kafura/cs2704/oop.swe.html

  10. Abstractions • refers to the relevant features and behaviors of an object • abstract classes are not used to create objects • designed to act as a base class to be inherited by other classes • design concept in program development that provides a foundation upon which other classes are built

  11. CRC • class, responsibility, collaboration • used to identify and explore the nature of a system • CRC card is an index card used to represent the responsibilities of classes and the interaction between the classes • informal approach to object oriented modeling • created through scenarios, based on the system requirements, that model the behavior of the system • aids in capturing essence of object-oriented systems

  12. Unified Modeling Language • standardized approach to object-oriented terminology and diagramming notation • used to define object-oriented constructs and models

  13. Classes differ from objects • A class is a type of thing or a general category. • An object is a specific instance of a class.

  14. Inheritance • Inheritance means get something from. • One class of objects can inherit attributes and methods from another. • This type of relationship is shown in the generalization/specialization hierarchy.

  15. Polymorphism • literally means "multiple forms“ • extremely important to object-oriented programmers who have to implement messages • ability to send the same message to different receivers and have the message trigger the right method within each receiver

  16. Sequence diagrams • presents object interaction arranged in time sequence • shows the objects involved in the scenario and the sequence of messages that are exchanged • show interactions among objects and with outside actors for a specific scenario or instance of a use case

  17. Actors • either a person (user) interacting with the system or another system interacting with the system • use cases capture the main functionality of a system from the perspective of a user or actor

  18. Use cases • identified by looking for events that might cause the user to interact with the system • a use case might have more than one scenario

  19. Verifying requirements satisfaction • walk through all use cases

  20. Custom methods • necessary when the class must process messages not handled by standard methods

  21. Inheritance • Inheritance means get something from. • One class of objects can inherit attributes and methods from another. • This type of relationship is shown in the generalization/specialization hierarchy.

  22. Generalization / Specialization Generalization Specialization Heirs Super Class Inherits From Sub Class Source: http://people.cs.vt.edu/~kafura/cs2704/oop.swe.html

  23. Abstract Classes • Exists only to allow subclasses to inherit from it. • Objects of that class type not normally created. • matter of design / implementation policy • nothing to prevent it actually being done

  24. Development Life Cycle • Widely used framework for organizing and managing system development process. • Five phases • planning • analysis • design • implementation • maintenance

  25. Process vs. Technique • “Process” explains what tasks to do and when to do them. • “Technique” describes approaches that could or should be used for the tasks at hand. • how to implement the process

  26. Objectives vs. Scope • Objectives are statements that define the expected benefits of the system. • Scope defines the boundary of the system. • describes what the system will be used for • defines main users • prevents requirements creep • ever-expanding objectives • keeps cost and schedule under control

  27. Starting an Object-Oriented Project • Start by identifying the most important business events. • there might be many more events buy only the important or typical events need to be identified early on • this can lead rapidly to an initial prototype that can ultimately be expanded into the full system • yields gradual implementation and growing benefits

  28. Use Cases • Use cases provide natural way of dividing the system into manageable units. • The objective of use cases is to identify what the system must do for the user to complete required work tasks.

  29. Physical vs. Logical Models • Physical model includes details of system implementation. • Logical model specifies what is required without defining implementation details.

  30. User Evaluation • A variety of different types of users will typically interact with a system. • Prototyping and evaluation by users will help identify the most effective design of the overall system structure and user interface.

  31. Considerations During Transition • Three main areas need to be considered during transition to object-oriented methods. • tools • methodology or means of employment • organization’s culture

  32. Benefits of OO Implementation • Methods and attributes can be added to existing object classes without disrupting the rest of the system. • New classes can be added easily. • Additional features can be added after the main functionality has been implemented.

More Related