Software Development Process
Enduring Understanding
Developers create and innovate using an iterative design process that is user-focused, that incorporates implementation/feedback cycles, and that leaves ample room for experimentation and risk-taking.
Essential Questions
What are some ways you currently plan your work before starting a project?
What apps or programs have you stopped using because you didn't like the design of how you interacted with it?
Lesson Objectives
Describe the purpose of a computing innovation.
Develop a program using a development process.
Design a program and its user interface.
Describe the purpose of a code segment or program by writing documentation.
Acknowledge code segments used from other sources.
Essential Knowledge
A development process can be ordered and intentional, or exploratory in nature.
There are multiple development processes. The following phases are commonly used when developing a program: § investigating and reflecting § designing § prototyping § testing
A development process that is iterative requires refinement and revision based on feedback, testing, or reflection throughout the process. This may require revisiting earlier phases of the process.
A development process that is incremental is one that breaks the problem into smaller pieces and makes sure each piece works before adding it to the whole.
The design of a program incorporates investigation to determine its requirements.
Investigation in a development process is useful for understanding and identifying the program constraints, as well as the concerns and interests of the people who will use the program.
Some ways investigation can be performed are as follows: § collecting data through surveys § user testing § interviews § direct observations
Program requirements describe how a program functions and may include a description of user interactions that a program must provide.
A program’s specification defines the requirements for the program.
In a development process, the design phase outlines how to accomplish a given program specification.
The design phase of a program may include: § brainstorming § planning and storyboarding § organizing the program into modules and functional components § creation of diagrams that represent the layouts of the user interface § development of a testing strategy for the program
Program documentation is a written description of the function of a code segment, event, procedure, or program and how it was developed.
Comments are a form of program documentation written into the program to be read by people and do not affect how a program runs.
Programmers should document a program throughout its development.
Program documentation helps in developing and maintaining correct programs when working individually or in collaborative programming environments.
Not all programming environments support comments, so other methods of documentation may be required.
Acknowledge code segments used from other sources.
It is important to acknowledge any code segments that were developed collaboratively or by another source.
Acknowledgement of code segment(s) written by someone else and used in a program can be in the program documentation. The acknowledgement should include the origin or original author’s name.