Software Design Flashcards
The documented method and parameter interface for a software system component. In general terms, it is a set of clearly defined methods of communication among various components.
Application Programming Interface (API’s)
A device, system or object in computing which can be viewed in terms of its inputs and outputs, without requiring any knowledge of its internal workings.
Black Box
A design methodology that involves using existing programming libraries and API’s to design a system or application.
Bottom-up Design
This is the shape used in flowcharts that indicates a decision made in a program where an input situation is presented and the result is either true or false.
Decision Diamond
A visual organizer system in programming used to indicate the flow of a program, using procedure blocks, decision diamonds and arrows.
Flowchart
A collection of predefined methods that can be used to build up a program.
Method Library
A software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.
Modular Programming
A symbol used in flowcharting that represents a process or event that occurs within the flow of the program.
Procedure Box
The stages of development for a software development project. The 5 standard stages include:
- Requirements analysis
- Design
- Development
- Testing
- Maintenance
Software Systems Life Cycle
The approach to executing the stages of the software systems life cycle.
Development Methodology
The incremental process of designing an application or procedure which starts by looking at the overall picture of the requirements, devising an initial solution/architecture, inspecting the solution for patterns that can be abstracted and iterating until the solution meets the objectives of performance, clarity, and quality.
Stepwise Refinement
Also known as stepwise design, is the process of breaking down a project into smaller and smaller pieces until each piece performs one simple task. An overview of the project is formulated, specifying but not detailing any lower-level tasks. It is synonymous with stepwise refinement.
Top-Down Design
A general-purpose modeling language in the field of software engineering, which is designed to provide a standard way to visualize the design of a system.
Unified Modeling Language (UML)