Http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE 517 Fall 2010/ch1 S10 MS
Object Oriented Design
Object-oriented design is a programming paradigm that uses "objects" and their interactions to design computer programs. It is based on several techniques, including encapsulation, modularity, polymorphism, and inheritance.
The Software Life Cycle
The development of software is usually broken down into five parts: Analysis, Design, Implementation, Testing, and Deployment.
- Analysis- decision-making process in which a decision is made on what the project is suppose to accomplish.
- Design- the plan is developed for how the system will be implemented.
- Implementation- the program is written and compiled to implement the classes and methods that were decided on in the design.
- Testing- tests are run to verify that the program works correctly.
- Deployment- users install program and use it for its intended purpose
Aggregation vs. Association
An aggregation is a set of objects that make up a unit. Some examples of aggregation include:
An association is two or more objects that work together, but one is not part of another. Some examples of association include: