1/23
Flashcards covering foundational concepts from the lecture notes: SDLC, program design, IPO, design tools, program quality attributes, pseudocode, flowcharts, testing, IDEs, Hello World, Python basics, and computational thinking.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
What does the SDLC stand for and what does it describe?
System Development Life Cycle; a process for planning, creating, implementing, integrating, testing, and deploying an information system (application).
What are the major SDLC steps after planning mentioned in the notes?
The design phase (documents inputs, processing, and outputs); the implementation phase (programmers write specific programs and install the new application after testing); the maintenance phase (identifies and modifies programs).
Name examples of applications used to illustrate SDLC.
DoD supply system; local bank customer system; repair parts inventory system; '101 Computer Games' software.
What does IPO stand for in program design, and what does it describe?
Inputs, Processing, Outputs; describes a program’s data flow and purpose. Used to describe the program’s inputs, processing, and outputs.
What are the three broad areas of activity in Program Design?
Understanding the program; Using design tools to create a model; Developing test data.
What does 'Understanding the Program' include?
Screen layouts, narratives, and documentation that describe the program’s purpose and its Inputs, Processing, and Outputs (IPO).
What design tools are used to create a model of the program?
Flowcharting, hierarchy/structure charts, and pseudocode.
What is the purpose of a hierarchy chart in program design?
To divide the program into several modules or functions.
Why is understanding programming logic and planning the algorithm before coding important?
To ensure you understand the logic and plan the algorithm before coding, leading to better structure and fewer errors.
What does Developing Test Data involve?
Providing input values and predicting outputs to check if the model produces correct results.
List the seven properties included in Program Quality.
Reliability, Robustness, Usability, Portability, Maintainability, Efficiency, Readability.
What does Reliability mean in program quality?
Results are correct without programming mistakes (e.g., no buffer overflows or division by zero).
What does Robustness mean in program quality?
The ability to handle run-time errors (e.g., corrupt data, out of memory, user error, power outages) that are not bugs.
What does Usability mean in program quality?
The ease with which a user can achieve the program’s intended purpose; a clear, intuitive, cohesive UI.
What does Portability mean in program quality?
The ability of the program to run on different hardware and operating system platforms (e.g., Windows, Mac, Linux).
What does Maintainability mean in program quality?
Ease of modification by developers to improve, customize, fix bugs, or adapt to new environments.
What does Efficiency refer to in program quality?
The measure of resources a program uses (processor time, memory, disk space, network bandwidth, etc.).
What does Readability mean in program quality?
The ease with which someone can understand the code’s purpose, control flow, and operation.
What is pseudocode?
A method for designing or planning a program using English statements; describes inputs, processing, and outputs before coding.
In pseudocode, what are the typical Input, Processing, and Output steps illustrated in the example?
Input steps to read ages, Processing steps to compute the average, Output step to display the result.
What are flowcharts and what symbols are used to represent key elements?
Flowcharts are diagrams of algorithms; symbols include Terminal (start/end), Flow Lines, Input/Output (parallelograms), Processes (rectangles), and Decisions (diamonds).
What is Software Testing and what properties does it evaluate?
The execution of a software component to evaluate properties such as meeting requirements, correct responses to inputs, acceptable performance, usability, install/run in environments, and alignment with stakeholder needs.
What are the two types of software testing mentioned?
Model checking and Code checking.
What is an Integrated Development Environment (IDE) and what does it provide?
An IDE is a software application that provides comprehensive facilities for developing software, helping with coding, building, debugging, and running programs.