CSCE 121 Software Engineering
Jump to navigation
Jump to search
« previous | Monday, November 29, 2010 | next »
Software Lifecycle
- Analysis: identify problems
- Design: break into modules
- Implementation: write code
- Testing: test every line of each module in isolation and when they're together
Tools
Computer-aided software engineering (CASE) tools
- Generate Code
- Keep data in perspective
Modularity
Object-oriented code has noun requirements; Objects represent these nouns and how they relate to each other
Sharing of information is called Coupling:
- Control coupling
- transfers control to another module using a function call
- Data coupling
- sharing data
Make coupling explicit and obvious. That's why we pass parameters instead of using global variables
Top-Down
Start with high-level idea of solution and refine it
Bottom-Up
Identify small tasks and learn how to combine them.
Cons: How would you know what the required individual tasks are?
Middle-Out
Start with set of classes that model application concepts.
Work down to implement classes
Work up to combine the classes
Documentation
Explain to the user how to use the code.