1.3 Program Design and Development
Notes on topic 1.3
1.3 Daily Video 1
Learning Objectives:
- Develop a program using a development process
- Design a program and its user interface
- Programs are developed with a specific purpose in mind
- Developers follows specific steps and stick to their plan
- The development may be more exploratory and the steps are dictated by what happens
- i.e. early AI projects
- 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
Development Process
- Investigation/Reflection
- Determine the requirements of the program
- Understand the constraints
- Understand the user concerns and interests
- With surveys, user testing, interviews, direct observations, etc.
- Design
- Brainstorming, by drawing on investigation
- Storyboarding the program
- Planning user experience
- Laying out user interface
- Organizing into modules
- Develop a testing strategy
- Decide on program requirements
- Prototyping
- Of the program or components
- An incremental process is frequently used so developers can refine modules of the program
- Testing
- Test program every step of the way
- Testing occurs at micro level and macro level
- Refine and revise
1.3 Daily Video 2
Learning Objectives:
- Acknowledge code segments used from other sources
- Programs are developed by teams of people, rarely solo
- Individuals/teams work on different functional components
- Each member deserves to receive credit for their work
- Their names must be written in the documentation of the program indicating their contributions
- Many projects use comments within the programming to give credit
- Developers need to be able to determine who can/should fix the problem when there is bug
- Developers may use code segments, procedures, algorithms, etc. from others
- Must credit these individuals
- Considered intellectual property of the author
- Author’s name and source of code segments
- Resembles a bibliography or a works cited in research paper
1.3 Daily Video 3
Learning Objectives:
- Describe the purpose of a code segment or program by writing documentation
- 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
- Documentation happens throughout the development process
- Beginning: list specifications
- During: track process
- After: explain overall process
- Program documentation helps effeciency of overall programming process, and programmers’ ability to test and refine the program and response to bugs
- Improve developing or 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