3 half-day sessions
PR-02 -- Data Representation
(or broad experience in designing large application systems)
This course is about the concepts of rigorous data definition, and is independent of any computerized data-dictionary system or adminstrative approach. If a conceptually sound data dictionary system is available to the participants, we can tailor the examples and exercises to it, but the basic course content can be supported manually.
In the first session we review data types and classes (for elementary data items) and static data structures (for composite data items), and choose a notation (DeMarco, Warnier, or UML) for describing composite items that have conditional or repeated groups. We then discuss data naming criteria, examining critically conditions under which a name can be considered self defining.
From this we derive criteria for describing the real-world meaning of a data item, and introduce a standard form (manual or computerized) for documenting such data definitions.
The second session focuses on cases and examples, pointing out common pitfalls that follow from imprecise data definitions. We conclude by looking at how data definitions relate to other systems analysis activities and to other components of a complete structured system specification.
In the final session we show how object-oriented concepts of encapsulation and inheritance can both simplify the creation and maintenance of data definitions and facilitate later software development.
If time permits, we conclude by examining the role of a data administrator and discuss how a D.A. and one or more systems analysts can effectively work together on a project team.
Upon completing SA-02 the participant will be able: