ABSTRACT
The process of developing a software product is analogous to the process by which a building concept becomes a reality. Reliability is insured in both processes by validation of the design with a blueprint prior to construction. Just as the architect relies on blueprints to validate his plans for construction of a building, so may the software developer rely on software blueprints to validate his plans for construction of a software product. The sequence of steps in software development include determination of requirements, specification of the various modules or subprograms to be developed, preparation of the module blueprints, peer review of the blueprints, construction or coding of the modules, module testing, and system testing. The module blueprint is the focal point of the process. Utilizing the structured flowcharting techniques of Nassi and Shneiderman, the blueprint is prepared as a working design document. It contains the complete coding requirements of the module and includes a graphical representation of the detailed logic performed, an English description of the action performed, and the actual source code of the programming language employed.
Currently recognized benefits of peer review are refined and expanded when the procedure is applied to validation of software blueprints. The degree of understanding, and thus error detection, is superior to that obtained from applying the review technique to source code listings. The blueprint review introduces an apprenticeship environment in which learning is quickened and the time required for a novice to obtain the capability of mature design is lessened.
The procedures used provide a prototype for future software design applications.
- 1.Alexander, Christopher, Notes on Synthesis of Form (Harvard University Press, 1964).Google Scholar
- 2.Baker, F.T., Mills, H.D., Chief Programmer Teams, Datamation (December, 1973).Google Scholar
- 3.Baucom, P.H., Productivity and Measurement: A Structured Programming Spin-Off, Fifth Annual Conference on Principles of Software Development, pp.69-101 (Control Data Corporation, 1977).Google Scholar
- 4.Chapin, N., New Format for Flowcharts, Software - Practice and Experience, Vol. 4, pp.341-357 (1974).Google Scholar
- 5.Fagan, M.E., Inspecting Software Design and Code, Datamation (December 1973).Google Scholar
- 6.Miller, E.F., Lindamood, G.E., Structured Programming: Top-down Approach, Datamation (December 1973).Google Scholar
- 7.Myers, G.J., Reliable Software Through Composite Design (Petrocelli/Charter, 1975). Google ScholarDigital Library
- 8.Nassi, I., Shneiderman, B., Flowchart Techniques for Structured Programming, Sigplan Notices, Vol. 8, No. 8 (August, 1973). Google ScholarDigital Library
- 9.Schower, A.M., Introduction of Software Engineering Techniques to Mature Software Systems, Fourth Annual Conference on Principles of Software Development, pp.69-101 (Control Data Corporation, 1977)Google Scholar
- 10.Structured Walk-Throughs: A Project Management Tool (IBM Corporation, August, 1973).Google Scholar
Index Terms
- Software Blueprints
Recommendations
A combined functional and object-oriented approach to software design
ICECCS '95: Proceedings of the 1st International Conference on Engineering of Complex Computer SystemsLarge and complex software systems contain a variety of entities (objects) and a complex control system (transformation function). The pure object-oriented design and structured design approaches concentrate on either objects or the transformation ...
Teaching software engineering in the adult education environment
SIGCSE '81: Proceedings of the twelfth SIGCSE technical symposium on Computer science educationTeaching the evolving subject of software engineering has only recently been explored in the literature within the last five years. In a university-level, evening school environment, problems in the area of software engineering education arise due to 1) ...
Teaching software engineering in the adult education environment
Proceedings of the 12th SIGCSE symposium on Computer science educationTeaching the evolving subject of software engineering has only recently been explored in the literature within the last five years. In a university-level, evening school environment, problems in the area of software engineering education arise due to 1) ...
Comments