Project Assignment Programming Standards and Procedures

J.E.D.I • Model the behavior of the control classes with the screen and persistent classes. • Model the component using the component diagram. 2. Refine the control classes of the Squad Team Maintenance. • Refine and redefine the control classes. • Model the behavior of the control classes with the screen and persistent classes. • Model the component using the component diagram. 3. Define the component diagram of the software • Refine the software architecture by repackaging the classes. • Define the component diagram of each package in the software architecture.

4.12 Project Assignment

The objective of the project assignment is to reinforce the knowledge and skills gained in this chapter. Particularly, they are: 1. Translating the Analysis Model into the Design Model 2. Developing the Data Design Model 3. Developing the Interface Design Model 4. Developing the Software Component Design 5. Developing the Software Architecture MAJOR WORK PRODUCTS: 1. Software Architecture 2. Data Design Model 3. Interface Design Model 4. Control Class Model 5. Software Component Design Model IMPORTANT 6. Requirements Traceability Matrix 7. Action List Software Engineering 202 J.E.D.I 5 Implementation Programs are written in accordance to what is specified in the design. Translating design can be a daunting task. First, the designer of the system might not able to address the specifics of the platform and programming environment. Second, codes should be written in a way that is understandable not only to the programmer who did it but by others other programmers and testers. Third, the programmer must take advantage of the characteristics of the designs organization, the datas structure and programming language constructs while still creating code that is easily maintainable and reusable. This chapter does not intend to each programming as this is reserved for a programming course. This chapter gives some programming guidelines that may be adopted when creating codes. It also gives some software engineering practices that every programmer must keep in mind.

5.1 Programming Standards and Procedures

Teams are involved in developing a software. A variety of tasks performed by different people is required to generate a quality product. Sometimes when writing a code, several people are involved. Thus, a great deal of cooperation and coordination is required. It is important that others be able to understand the code that was written, why it was written, and how it fits in the software to be developed. It is for this reason that programming standards and procedures be defined and consistently used. Programming standards and procedures are important for several reasons. First, it can help programmers organize their thoughts and avoid mistakes. How to document the source codes to make them clear and easy to follow makes it easier for the programmer to write and maintain the codes. It also helps in locating faults and aids in making changes because it gives the section where the changes are applied. It also helps in the translation from the design code to the source code through maintaining the correspondence between the design components with the implementation components. Second, it can assists other team members such as software testers, software integrators and software maintainers. It allows communication and coordination to be smooth among the software development teams. The people involved in the development software must decided on implementation specific standards. These may be: 1. Platform where the software will be developed and used. This includes the minimum and recommended requirements of the hardware and software. For the software, they include versions. Upgrades are not really recommended. However, if upgrades are necessary, the impact should be analyzed and addressed. 2. Standards on the source code documentation. This will be discussed in the programming documentation guidelines. 3. Standards for correspondence between design and source codes. The design model has no value if the designs modularity is not carried forward to the implementation. Design characteristics such as low coupling, high-cohesion and well-defined interfaces should also be the program characteristics. The softwares general purpose might remain the same throughout its life cycle but its characteristics and nature may change overtime as customer requirements are modified and enhancements are identified. Changes are first reflected on the design. However, it will be traced down Software Engineering 203 J.E.D.I to lower level components. Design correspondence with source code allows us to locate the necessary source code to be modified.

5.2 Programming Guidelines