- CASE: computer aided software engineering
OOP: object oriented programming
OOD: object oriented design
OOA: object oriented analysis
- maintainability, usability, efficiency, dependability
- legacy challenge, heterogeneity challenge, delivery challenge
- confidentiality, competence, intellectual property rights, computer misuse
- writing code without carrying out design planning
- specification, design and implementation, validation, evolution
- waterfall, evolutionary, formal system, reuse-based
- There is explicit consideration of risks, the goal being to minimize risks.
- Critical components can be delivered early to get customer response. Decisions can be delayed.
- Validation: Does the software do what the customer wants? Verification: Does it do the job correctly?
- workbench: a set of tools to support a particular process phase or activity; environment: a collection of integrated workbenches.
- proposal writing, project planning and scheduling, costing, monitoring and reviews, personnel selection and evaluation, report writing.
- The product is intangible. There are no standard software processes. Large projects are often singular (no other similar ones exist).
- Apply a topological sort to an activity network to project a schedule.
- project risks, product risks, business risks.
- A deliverable is a project result delivered to customers such as specifications, design, etc. All deliverables are milestones. A milestone may be an internal result not delivered to the customer.
- system structuring, control modeling, modular decomposition.
- There are different perspectives from which a project needs to be viewed such as the static view, a dynamic view, and a view that shows relationships.
- performance, security, safety, availability, maintainability.
- any project needing a commonly accessible database, such as a bank system for which the repository is the database of customer records.
- to organize a system into a series of layers, each providing a set of services.
- Centralized control occurs when one sub-system is responsible for starting and stopping all the other subsystems. Event driven control occurs when external events start and stop processes.
- OOD is design in which one thinks in terms of structures, the operations being part of the definition of a given structure and existing only in relationship to the structure.
- identification of the context and modes of use of the system, design of the system architecture, identification of the system objects, development of design models, specification of object interfaces.
- Making changes is easier than for other types of design. Interfaces must be defined precisely, making the system easy to understand.