Case Study: Alternative Fuels for Commercial Aircraft

advertisement
The Software Development Life Cycle
Software Development
SDLC
 The Software Development Life-Cycle



Sometimes called the program development lifecycle
Method to help develop software, used by all programmers
4 Key Steps:
 1. Project Analysis
 2.Program Design
 3. Program Code
 4. Program Test
 Repeat…
Project Analysis
 Determine the output – What do you want?
 Determine input - What do you need to get the
output?
 Example:
- Create a program to generate 5 numbers to play the
lottery within a range of 1-100.
- Possible choices? Which ones makes sense?



5, 5, 5,5, 5
-3, 0, 8, 9, 790007
32, 5,98, 22,77
Design the program
 Create a detailed description of program
 Using special tools like Flow Charts or Pseudocode
- Flow Chart: a program design tool that uses special symbols to explain the
program.
- Pseudocode an outline of your code using simple English statements that
can be easily converted into programming statements.
 Identify algorithms needed
- Algorithm: a step-by-step method to solve a problem or complete a task
 Algorithms must be:
-
Well defined
Well ordered
Must produce some result
Must end
Code the program
 Translate flow charts or pseudocode into a
programming language or often called Program Code
 The program code will be unique to each programming
language, however the basic processes are the same
 Each programming language uses its specific syntax
- Consider syntax to be the grammatical rules of the
programming language.
 Good coding includes explanations within your program
that explains what the program does. /*Comments*/
 External documentation such as user guide is also useful
to help explain your program.
Test the program
 The final stage is to test your program.
- Is it doing what I wanted it to do?
 It is important to use many different types of test data to
make sure that it works under all possible situations.
 Although, throughout the SDLC you should always be
testing your program
- In analysis phase: always ask questions


Did I interpret data correctly?
Does program fulfill requirements? Etc…
- In design phase: check your logic


Does this make sense?
Is it doing what it’s supposed to do?
- In coding phase: deal with the syntax errors
2-6

Why is the program not working?
Repeat
 When testing the program you may encounter a few
unexpected things.
 For Example:
- The program may not work
- Some test data does not give you the results you expect
- You notice that something can be done better.
 What this usually means is that you will have to go back
to the beginning of the SDLC .
 This is why it is called the Software Development Life
Cycle!
Software Development Process
 A structure imposed on the development of a software
product.
 Sometimes called the software lifecycle or simply
software process.
 Several models are in common use:
- Waterfall process
- Iterative process
- Extreme programming
- Capability Maturity Model Integration (CMMI)
- Software Process Improvement Capability Determination
(SPICE)
Waterfall process
 Specific steps are followed in order
1. Requirements specification
2. Design
3. Construction (coding or programming)
4. Integration
5. Testing and debugging
6. Installation
7. Maintenance (support)
Iterative Process
 Iterative or cyclic development process.
 It starts with an initial planning and ends with
deployment with the cyclic interaction in between.
- That is reviewing and repeating activities to check that
everything is working
Why use the SDLC?
 To create the best program that you can!!
 Note: Programs are products that can be sold. Many
people have made a lot of money developing and
creating programs.
 A good part of our modern economy depends on
software projects.
 This is why one of the requirements of this course is to
develop and complete your very own software project.
 Otherwise……
This is what can happen…
http://www.youtube.com/watch?src_vid=OfgfnZZdMlI&an
notation_id=annotation_589336&feature=iv&v=xtpyjPrp
yX8
Download