Object Engineering Techniques
Introduction: Executive Summary
This chapter presents a collection of some simple, just-enough techniques that can be applied in any project to quickly determine scope and development priority, and to effectively determine user requirements. Object engineering employs the techniques of play script modeling, use case modeling, and class-responsibility-collaboration (CRC) modeling. Play script models treat the organization as a series of scenes in a play. Different actors play different roles in different scenes. Some scenes occur in parallel to other scenes. Use case models are detailed models of the stimulus-response behavior of the actors and the organization's information systems within a particular scene. CRC models are detailed models of the behavior of an individual class of objects within a use case.
Object engineering employs a hierarchy of models to discover and document the components and behaviors of an information system.
These techniques, such as context diagrams, use case diagrams, use cases, CRC cards, design by contract, Abbott Textual Analysis, and play scripts, can be applied within the framework of any appropriate methodology.
Are men more ordered than when Julius Caesar
Smiled at their lack of skill but found their courage
Worthy his frowning at. Their discipline,
Now wing-led with their courage, will make known
To their approvers they are people such
That mend upon the world.
Cymbeline, The King of Britain
Act II, Scene 4
Posthumus tells Filario that having great courage in the face of adversity is not sufficient. The brave must also be skilled. This chapter presents some of the proven, practical techniques needed to capture requirements, involve the users in the development of the system, and apportion development work among team members. Since one of the leading causes of systems development failures is incorrect or inadequate requirements definition, it is important to employ new techniques to quickly capture and verify the most significant requirements of the system.