6.3: Software Design Approaches
6.3.1: Process-Oriented Design
Read "Chapter 8: Process-Oriented Design" (pages 278-327). The goal of design is to map the requirements of the application to a hardware and software environment. The result of process-oriented analysis -- data flow diagrams, data dictionary entities, etc. -- is translated into detailed specifications for hardware and software. The main output of process-oriented design includes structure charts, physical databases, and program specifications.
In this reading, you will learn about the concepts and terminologies for process-oriented design. This reading covers the steps of process-oriented design including transaction analysis, transform analysis, and structure charts, as well as physical database design, program packages, and program design. You will also learn about strengths and weaknesses of process-oriented design. Take your time in reading and jot down any ideas or notes that stand out to you as particularly useful (or, conversely, confusing).
6.3.2: Data-Oriented Design
Read "Chapter 10: Data-Oriented Design" (pages 391-458). The text uses the Martin [1990] version of Information Engineering to illustrate data-oriented design. The result of data-oriented analysis -- entity relationship diagrams, data flow diagrams, CRUD matrices, etc. -- is translated into screen designs, production database designs, action diagrams, procedural structures, and security plans. Compared to other approaches, data-oriented design has a strong emphasis on security, recovery, and audit controls, relating each to data and processes in the application.
In this reading, you will learn about the concepts and terminologies for data-oriented design, analyzing data and defining system controls, and the action diagram. The action diagram shows the processing details for an application in a structured format, which can be translated into programs and modules. You will also learn about menu structure, dialogue flow and hardware/software installation and testing in this reading. Take your time in reading and jot down any ideas or notes that stand out to you as particularly useful (or, conversely, confusing).
6.3.3: Object-Oriented Design OOD
Read "Chapter 12: Object-Oriented Design", on pages 501-553. The text uses the Booch methodology (1991) to illustrate object-oriented design. The result of object-oriented analysis is translated into time-event diagrams, Booch diagrams, message communications, service objects, and process diagrams. Collectively, they constitute a set of holistic specifications to effectively allocate functionality over program modules at the lowest level as well as multiprocessor configurations at the highest level.
As we discussed in 5.3.3, the Booch notation has been unified with other object-oriented notations (i.e., Rambaugh and Jacobsen) into Unified Modeling Language (UML). In Unit 10, we will look at another example of object-oriented analysis and design using the UML notation. Therefore, you may skim this chapter quickly to gain familiarity with OOD, which you will apply to Unit 10. Take your time in reading and jot down any ideas or notes that stand out to you as particularly useful (or confusing).