Information requirements are converted to documented specifications and graphical representations that establish a solid blueprint for the implementation of the application.
Would you build a home without a blueprint and design for the home? Of course not. The same holds true with software. Software without thorough and proper design is software that is error-prone, unreliable and very difficult if not impossible to maintain and update. It is software that undoubtedly costs more money and headache in the long-run.
The creative and even artistic process of fashioning software is performed during the Design Phase of the Systems Development Life Cycle. Construction is carried out during the Implementation Phase.
Design is broken down into two primary categories: logical and physical. During logical design, information requirements are converted to documented specifications and graphical representations, which are then reviewed for quality and assurance that they meet the customer’s business needs. The physical design focuses on technological and organization specifications.
Logical Design
Documented specifications of the logical design are written in plain language that is easy to read and understand. This allows the client to review, assess and make comments on the specifications, as well as the graphical representations, to make certain that the information requirements are satisfied.
A procedure called stepwise refinement is implemented to refine the software specifications into greater levels of detail. At each step of refinement, questions are further answered and more problems are solved. The original software specifications can be thought of as a macroscopic view while the refinement of those specifications performed during the logical design of development is viewed at the microscopic level. Stepwise refinement helps to ensure that important parts of the software application are not missed and that the software solution achieves the customer’s requirements.
During this phase, logical database design is also carried out. It is here where the concepts of the data models established during the Analysis Phase are converted to logical data models that are, in turn, used as a guide for implementation.
The logical design is paramount in solving problems and providing the software engineers with a systematic and lucid plan to follow for implementing and testing the software.
At this critical juncture the software specifications from the Analysis Phase are refined into a detailed description of how the software will solve problems and implement the specified requirements.
As M.A. Jackson stated in Principles of Program Design: “The beginning of wisdom for a [software engineer] is to recognize the difference between getting a program to work and getting it right.” (Jackson, 1975)
At Yacoset, we use an object-oriented design along with a top-down approach to programming to establish the logical design of the information system. These elements in tandem establish a hierarchical structure of the information system using real-world objects, where the fundamental purpose of the system is defined at the top, and highly specific lower-level modules are defined at the bottom. These objects will act as self-contained reusable program modules that improve the speed at which an application can be programmed, increase stability, encourage more thorough testing and expedite updates.
Physical Design
Technology and organizational specifications are developed during the physical design of the SDLC. Our software engineers convert the logical design into technical specifications that illustrate how data will be stored and retrieved. As such, technologies that may need to be purchased are reviewed, the physical site, if required, is mapped, the physical organization of data is determined, and data processing programs are designed.
The chief focus of physical design is on performance and processing efficiency that maintains the integrity of the data and ensures security, stability and, equally important, recoverability. As a result, such factors as memory management, storage and the operating system, to name but a few, are reviewed to determine the best methodology to employ to maximize processing efficiency.
The refinement of the software specifications from the logical design and the technical specifications from the physical design are compiled into the Design Document, which
- allows the software engineers and client to evaluate the accuracy of the design
- functions as a blueprint for the implementation of the software
- provides knowledge to anyone who is responsible for maintaining the software
Creativity and critical thinking are necessary to the construction of a successful Design Document, one which establishes the blueprint and framework of an information system that meets the client’s expectations and satisfies his or her requirements. The Design Document not only serves as the chief guide for the construction of the application being programmed, it also acts as the primary reference document for maintenance.
The Design Document is reviewed with the client to ensure it meets the client’s requirements and business goals. The consultaion allows for changes to be made easily and included in the information system before implementation begins. Like the blueprint for a home, the Design Document acts as the chief guide, the master plan, that the builders will refer to time and time again. It sets the stage for software to be implemented that is stable and reliable, software that can be tested thoroughly and that can be more easily modified and updated.
