Home

  About Us

  Products

  Process Models

  SE Resources

  Commentary

  Contact us

Breaking News!

A new blog ... visit OnCenter, Roger Pressman's running commentary on the world at large

A new edition ... the 6th edition of Software Engineering is available now

A first novel ... Roger Pressman's first novel is a technothriller -- The Aymara Bridge

A new training curriculum! RSP&A has partnered with QAI to develop a comprehensive Internet-based software engineering curriculum.

A redesigned Web site ... we've done a major redesign and added many new features

 
Adaptable Process Model
Checklists:
Reviewing OOA and OOD Models



IMPORTANT NOTICE: The complete Adaptable Process Model (APM) is provided for informational purposes and for assessment by potential users. The APM is copyrighted material and may not be downloaded, copied, or extracted for use in actual project work. The full hypertext (html) version of the APM may be licensed for use and customization within your organization. Contact R.S. Pressman & Associates, Inc. for complete licensing information.

Reviewing OOA and OOD Models

    Object-oriented analysis and design establish the foundation for the construction of an object-oriented system. Many of the topics noted in checklists for conventional analysis and design are applicable in the object-oriented context. However, some specialized questions are also required. For this checklist, the more questions that elicit a negative response, the higher the risk that OOA/OOD will not result in high quality software.

    For object-oriented analysis:

    • Has domain analysis been conducted as a precursor or in parallel with to OOA?
    • Is the domain to be analyzed clearly identified?
    • Have domain objects been identified and defined in detail?
    • Are use cases available for OOA work?
    • Have potential classes been identified for the problem to be solved?
    • Have potential classes been evaluated using selection characteristics?
    • Have chosen classes been categorized by type?
    • Have "responsibilities" (operations, attributes) for each class been identified?
    • Is each responsibility stated as generally as possible?
    • Is system intelligence evenly distributed across classes?
    • Have collaborations (relationships) between/among classes been defined?
    • Has a CRC model (SEPA, 5/e, p. 582) been created?
    • Are CRC index cards (or their equivalent) available for review?
    • Have appropriate class hierarchies been identified?
    • Have appropriate subjects and subsystems been defined?
    • Has an object-relationship model been defined?
    • Has an object-behavior model been defined?
    • Have all elements of the OOA model been reviewed?
    • Have use cases been applied to validate the CRC model and other object models?
    • Has a prototype been developed for any function that is ambiguous or unclear?
    • Has a written Software Requirements Specification been developed?
    • Has the specification undergone formal technical review(s)?

    For object-oriented design:

    • Have subsystems be defined as part of the design representation?
    • Are there relatively few subsystems?
    • Has a well defined interface been established for each subsystem? Have communication classes been established for inter-subsystem communication?
    • Do the classes that populate a subsystem make sense within the context of the functional/data requirements defined for the subsystem?
    • Is each subsystem appropriately allocated to processors and tasks?
    • Have classes and a design strategy been developed for data management, interface support and task management?
    • Have global resources and the control mechanisms required to implement them been defined as part of the design?
    • Is the OO architecture layered (SEPA, 5/e, p. 612)?
    • Have task management classes been defined?
    • Have data management classes been defined?
    • Have user interface classes been defined?
    • Is all inter-subsystem communication clearly depicted in a subsystem collaboration table?
    • Has a protocol description been defined for each object?
    • Does the protocol description clearly describe the messaging structure for the class/object?
    • Has the procedural design for all class methods been reviewed for correctness? [see also, checklist for component level design]
    • Have recognizable design patterns been used as part of the design?


      Return to Checklist Table of Contents


Site search! We've added links to a search engine that will enable you to search our entire site for information you need. Enter the appropriate word or phrase below.

PicoSearch




Home About us Products Product Models SE Resources Commentary Contact us

Web site and all contents © R.S. Pressman & Associates, Inc. 2001 - 2006, All rights reserved.
Free website templates