Appendix EIT210 Version 51 Associate Program Material Append
Appendix Eit210 Version 51associate Program Materialappendix Esystem
The assignment involves transforming system-level requirements into a detailed program design using pseudocode and stepwise refinement. Using an input-process-output (IPO) chart as the foundation, students are tasked with developing a comprehensive design for a program that calculates the amount of paint needed for a room, based on user inputs for room dimensions and paint coverage. The process includes breaking down high-level requirements into smaller, detailed processing steps, culminating in pseudocode that clearly specifies each stage of the calculation. The goal is to refine the initial requirements systematically to produce an organized, logical program structure that can be implemented effectively.
Paper For Above instruction
The process of developing a software program from system-level requirements is a critical step in ensuring a clear, organized, and implementable solution. It begins with understanding the high-level requirements, often represented through an input-process-output (IPO) chart, and then systematically refining these into detailed steps, often through pseudocode and modular design. This paper explores this refinement process in the context of calculating the necessary amount of paint for a room, based on dimensions and coverage details.
Understanding the System-Level Requirements
The initial step involves establishing the core requirements of the system. For a program that calculates paint needs, the primary input includes user-provided data such as room dimensions (width, length, height), the coverage rate of the paint (square feet per gallon), and the price per gallon. The output is the total cost of the paint required. The main processes include calculating the total surface area of the room's walls and ceiling, determining the gallons of paint needed based on coverage, and subsequently computing the total cost based on the price per gallon.
Designing the Program: Step-wise Refinement
Starting with the IPO chart, which provides a high-level overview, the refinement process involves decomposing each process into smaller, executable steps. For instance, the process of finding the room area involves calculating the areas of sides, front/back, and ceiling, then summing them. This is further broken down into input gathering, computational steps, and output display. Each step is represented through pseudocode, which serves as a blueprint for actual coding.
Implementation: Modular Approach
The software design adopts modular programming principles. Several modules are proposed, such as the Main Module, Input Data Module, and Find Room Area Module. The Main Module orchestrates the overall process: prompting user inputs, calling submodules, calculating the paint needed, and displaying results. The Input Data Module manages all user prompts, ensuring clarity and separation of concerns. The Find Room Area Module performs geometric calculations to determine the total surface area. This modular approach enhances readability, debugging ease, and future maintenance.
Pseudocode Development
The pseudocode exemplifies the detailed logic flow. For example, the Main Module involves declaring variables to store user inputs and calculation results, obtaining inputs, invoking computational modules to determine room area, calculating gallons needed by dividing total area by coverage, and finally computing total cost by multiplying gallons by price per gallon. Each step mirrors real programming logic, making it easier to translate into actual code.
Significance of Stepwise Refinement
The systematic breakdown from high-level requirements to detailed pseudocode is essential in managing complexity. It enables developers to verify individual components before integration, ensures clarity of code structure, and aligns implementation with initial specifications. Moreover, it fosters an understanding of how different processes relate and depend on one another, reducing errors and improving efficiency during development.
Conclusion
Transforming system-level requirements into detailed program design is an integral part of software development. By utilizing IPO charts, stepwise refinement, and modular pseudocode, developers can create clear, maintainable, and effective solutions. In the context of calculating paint for a room, this disciplined approach ensures that all necessary calculations are performed accurately and logically, resulting in a robust program ready for coding and deployment.
References
- Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach (8th ed.). McGraw-Hill Education.
- Ghezzi, C., Jazayeri, M., & Mandrioli, D. (2003). Fundamentals of Software Engineering. Prentice Hall.
- Leffingwell, D., & Widrig, D. (2003). Managing Software Requirements: A Use Case Approach. Addison-Wesley.
- Robert C. Martin. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.
- Object Management Group. (2015). UML Specification. Retrieved from https://www.omg.org/spec/UML/
- Somerville, I. (2011). Software Engineering (9th Edition). Addison-Wesley.
- Pressman, R. S., & Maxim, B. R. (2014). Software Engineering: A Practitioner's Approach. McGraw-Hill Education.
- Booth, B. (2007). Introduction to Programming Using Java. McGraw-Hill Education.
- Leppänen, V., & Tihinen, T. (2009). From requirements to code: An integrated approach. IEEE Software, 26(5), 58-65.
- Larman, C., & Basili, V. R. (2003). Iterative and incremental development: A brief history. Computer, 36(6), 47-56.