Software Engineering Concepts/Terminology
- A Good Read
- Methodologies
- OOP
Lots of current stuff is (primarily) focused on OO.
- Phases of Software Process Models
- Requirements.
- Identify the reason for the system
- Identify the users of the system (not always people!)
- Types
- User Requirements
high-level, abstract
- System Requirements
lower-level, detailed description of what
the system should do.
- Functional Requirements - how the system will be used.
- statements of services
- description of system behavior as function on inputs
- description of what the system should not do?
- Non Functional Requirements
- performance
- security
- constraints
(cost, size, platform, time,
etc.)
- Ideas for documenting requirements
- lists
- diagrams, Use Case
- dependencies
- modeling users
people/GUI vs. othery systems (files/pipes/etc.)
- hierarchies
functional - describe the system, not the implementation!
- Resources
- Analysis and Design
- Implementation
- Testing (subsystem, system)
- Some approaches
- Waterfall
traditional
- Iterative
more realistic ?
- Spiral
special case of Iterative (convergence)