Chapter 1 Software Design
Chapter 1 Software Design
Outline
• Software is ...
• Used for a long time
• Updated and maintained
• By people who did not write it
• Initial specification may be incomplete
• Specification clarified through extensive interaction
between user(s) and system analyst(s)
• Requirements specification needed at the beginning of
any software project
• Designers and users should both approve it!
• Requirements Specification
• System analyst works with users to clarify the detailed
system requirements
• Questions include format of input data, desired form
of any output screens, and data validation
• Analysis
• Make sure you completely understand the problem
before starting the design or program a solution
• Evaluate different approaches to the design
• Design
• Top-down: break system into smaller subsystems
• Object-oriented: identify objects and their interactions
• UML diagrams: tool to show interactions between:
• Classes (inside the system)
• Classes and external entities
/**
* The interface for the telephone directory.
* @author Koffman & Wolfgang
*/
public interface PhoneDirectory {
...
}
Input: a file name; Effect: read initial directory from the file