For Your Course Project You Will Design A Program

For Your Course Project You Will Design A Program That Collects Data

For your course project, you will design a program that collects data and performs a calculation based on the following scenario: A program to ask the user to enter the dimensions of a room to calculate its area in order to purchase cans of paint and display the result. The goal of the course project is to practice building a program from scratch, while following principles of programming logic and design. You will use pseudocode to create your program, as covered throughout this course. The program should request input from the user, then display results in a formatted output. Your project submissions will include pseudocode, flowcharts, and documentation.

Instructions First, select one of the following scenarios for your course project: A program to calculate the area of a room in order to purchase cans of paint. A program to calculate the average number of steps or distance for a runner who is training for a marathon. A program to ask the user to enter a store's daily sales, calculate the weekly sales, and display the result. Second, determine whether you will use a traditional or agile methodology for the chosen scenario. Third, develop a business report that: Describes the SDLC (traditional or agile methodology) from beginning to end. Provides analysis and reasoning for how the selected methodology is appropriate for the chosen scenario.

Paper For Above instruction

The development of software applications to solve specific problems requires a strategic approach rooted in structured methodologies. For this project, the focus is on designing a program that collects user input to perform calculations—specifically, calculating the area of a room to determine the quantity of paint needed. The decision to adopt either a traditional (waterfall) or agile methodology influences the planning, development, and deployment process. This paper provides a comprehensive overview of the Software Development Life Cycle (SDLC) corresponding to the selected methodology, analyzing its suitability for the project scenario.

Scenario Selection and Rationale

The chosen scenario involves creating a program to compute the area of a room based on user-provided dimensions. The primary goal is to facilitate an efficient calculation that helps a user determine the amount of paint required. This type of project is well-suited to an agile methodology due to its iterative nature, allowing for flexibility in requirements and ongoing adjustments. Agile emphasizes collaboration, customer feedback, and incremental development, which are advantageous when developing user-centric applications that may evolve based on user needs.

Overview of the SDLC Approaches

The traditional SDLC, also known as the waterfall model, is a linear and sequential process comprising phases such as requirement analysis, system design, implementation, testing, deployment, and maintenance. Each phase must be completed before proceeding to the next. This approach emphasizes thorough documentation and planning, reducing the risk of scope creep but often limiting flexibility in the face of changing requirements.

In contrast, the agile SDLC promotes iterative development, where the project is divided into small increments called sprints. Each sprint results in a usable product, allowing for continuous stakeholder involvement and the adaptation of requirements based on feedback. Agile fosters a collaborative environment, reduces risks through incremental delivery, and accommodates changes more easily than traditional models.

Application of SDLC Methodology to the Scenario

For the room area calculation program, an agile approach offers significant advantages. Its iterative nature allows for early stakeholder feedback, which is vital for refining input formats, validation processes, and output presentation. Initial sprints can focus on core functionalities such as prompting user input, performing calculations, and displaying formatted results. Subsequent sprints can address enhancements, error handling, and user interface improvements.

Moreover, the flexibility of agile permits the developer to modify requirements if additional features are requested, such as unit conversions or integrating the program into a larger system. Agile’s emphasis on collaboration ensures continuous testing and validation, reducing the risk of errors in the final product and improving user satisfaction.

Conversely, a traditional approach may be appropriate if the project scope is well-defined and unlikely to change. In such cases, comprehensive planning can ensure a structured development process with predictable delivery timelines. However, given the nature of this project—focused on learning, experimentation, and potential revisions—agile methodology provides a more responsive framework that aligns well with iterative development and active stakeholder involvement.

Conclusion

The selection between traditional and agile SDLC methodologies depends largely on project requirements, complexity, and stakeholder involvement. For the program designed to calculate room area for painting purposes, agile methodology offers enhanced flexibility, increased stakeholder engagement, and the ability to accommodate evolving needs. Its iterative cycles enable continuous improvement, making it suitable for educational projects that benefit from ongoing feedback and refinements. Ultimately, adopting an agile approach facilitates a user-centered development process that aligns well with the principles of modern software engineering.

References

  • Beck, K., Beedle, M., van Bennekum, A., et al. (2001). Manifesto for Agile Software Development. Agile Alliance. https://agilemanifesto.org/
  • Sommerville, I. (2016). Software Engineering (10th ed.). Pearson Education.
  • Pressman, R. S., & Maxim, B. R. (2014). Software Engineering: A Practitioner’s Approach (8th ed.). McGraw-Hill Education.
  • Highsmith, J. (2002). Agile Software Development Ecosystems. Addison-Wesley.
  • Royce, W. W. (1970). Managing the Development of Large Software Systems. Proceedings of the 9th international conference on Software engineering, 1–9.
  • Schwaber, K., & Sutherland, J. (2020). The Scrum Guide. Scrum.org. https://scrumguides.org/
  • Boar, S. (2004). Agile Software Development: An Introduction. IEEE Software, 21(4), 61–65.
  • Ambler, S. (2012). Agile Modeling. Agile Modeling. https://agilemodeling.com/
  • Fowler, M., & Highsmith, J. (2001). The Agile Manifesto. Agile Alliance. https://agilemanifesto.org/
  • Rouse, M. (2021). Waterfall vs. Agile: Comparing Development Methodologies. TechTarget. https://www.techtarget.com/whatis/definition/waterfall-model