Engineering Science 1036A/B Lecture Notes - Lecture 2: Test Plan, Xcode, Microsoft Visual Studio
Specification
Developed in response to the “requirements”
•
Precise statement of what the system will do
•
Includes:
Functional specifications
○
Input/output specifications
○
Performance specifications
○
•
Most important, hardest, most neglected
•
Design
Architecture
Decompose the system into components•
Interfaces
How the components talk to each other•
Detailed Design
How components are designed•
Each component can be another system•
•
Algorithm
An ordered sequence of well-defined instructions that gives an initial state,
performs some task and halts in finite time
•
Step-by-stop solution to solve a problem•
Algorithms can be illustrated by one of the following ways:
Pseudo-code
Kind of structured English for describing algorithms
§
○
Flow-Charts
Often used to represent algorithms graphically
§
○
•
Flow Charts
uses specific diagrams connected by arrows (→) to represent the control-flow of
the algorithm
•
•
Implementation
Easiest part•
Shouldn’t be any surprises•
Pick the platform
PC, Mac, Palm
○
•
Pick the environment
MS Visual Studio, Borland C++ Builder, xcode etc
○
•
Pick the language
C++, Java, C, Ada, C#, Python
○
•
A computer program is the implementation of an algorithm•
Testing
2nd most important part of the process•
Ensures that the implementation fulfils the specification•
A test plan can be generated directly from specifications•
An item in the test plan contains details about:
Steps that must be followed
○
Inputs that must be given
○
Outputs that must be observed
○
•
Test with input data that can easily determine expected results•
Engineering Problem Solving
Monday, September 11, 2017
12:10 AM