1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing...
-
Upload
jeffrey-benson -
Category
Documents
-
view
216 -
download
0
Transcript of 1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing...
![Page 1: 1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.](https://reader036.fdocuments.us/reader036/viewer/2022082517/56649ef25503460f94c0438d/html5/thumbnails/1.jpg)
1
Life Cycle of Software
• Specification• Design
– Risk Analysis– Verification
• Coding• Testing
– Refining– Production
• Maintenance
![Page 2: 1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.](https://reader036.fdocuments.us/reader036/viewer/2022082517/56649ef25503460f94c0438d/html5/thumbnails/2.jpg)
2
Modularity
• Abstraction– Separates the purpose of a module from its
implementation
• Abstract data type – collection of data and a set of operations on
the data
• Information Hiding
• Top Down Design
![Page 3: 1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.](https://reader036.fdocuments.us/reader036/viewer/2022082517/56649ef25503460f94c0438d/html5/thumbnails/3.jpg)
3
Object Oriented Design
• Encapsulation– Objects combine data and operations
• Inheritance– Classes can inherit properties from other
classes
• Polymorphism– Objects can determine appropriate operations
at execution time
![Page 4: 1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.](https://reader036.fdocuments.us/reader036/viewer/2022082517/56649ef25503460f94c0438d/html5/thumbnails/4.jpg)
4
Design Guidelines
• Use OOD and TDD together– Develop abstract data types and algorithms together
• Use OOD for problems that primarily involve data
• Use TDD to design algorithms for an objects operations
• Consider TDD for problems that emphasize algorithms over data
• Focus on what not how• Reuse
![Page 5: 1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.](https://reader036.fdocuments.us/reader036/viewer/2022082517/56649ef25503460f94c0438d/html5/thumbnails/5.jpg)
5
Key Programming Issues
• Modularity• Modifiability• Ease of Use
– Prompt for input– Echo the input– Label the output
• Fail-safe programming• Style• Debugging
![Page 6: 1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.](https://reader036.fdocuments.us/reader036/viewer/2022082517/56649ef25503460f94c0438d/html5/thumbnails/6.jpg)
6
Style
• Extensive use of functions
• Use of private data members
• No global data
• Proper use of reference arguments
• Error handling
• Readability
• Documentation