|
|
(126 intermediate revisions by 12 users not shown) |
Line 1: |
Line 1: |
| == '''Object Oriented Design''' ==
| | <big>'''Wiki Text book !'''</big> |
| | | * [[CSC 216]] learning exercise |
| | | * [[Expertiza documentation]] |
| ''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.''
| | * [[CSC 379]] |
| | | * [[CSC/ECE 506 Fall 2007]] |
| | | * [[CSC/ECE 517 Fall 2007]] |
| | | * [[CSC/ECE 517 Summer 2008]] |
| == The Software Life Cycle ==
| | * [[CSC/ECE 517 Fall 2010]] |
| <br> | | * [[ECE 633]] |
| ''The development of software is usually broken down into five parts: Analysis, Design, Implementation, Testing, and Deployment.'' | | * [[KCU]] |
| | | * [[Progress reports]] |
| <br>
| |
| | |
| ::'''Analysis'''- decision-making process in which a decision is made on what the project is suppose to accomplish.
| |
| | |
| <br> | |
| | |
| ::'''Design'''- the plan is developed for how the system will be implemented.
| |
| | |
| <br>
| |
| | |
| ::'''Implementation'''- the program is written and compiled to implement the classes and methods that were decided on in the design.
| |
| | |
| <br>
| |
| | |
| ::'''Testing'''- tests are run to verify that the program works correctly.
| |
| | |
| <br>
| |
| | |
| ::'''Deployment'''- users install program and use it for its intended purpose
| |
| | |
| <br>
| |
| | |
| | |
| == Classes ==
| |
| | |
| | |
| While programming in an object-oriented way, you must:
| |
| <br>
| |
| <br>
| |
| ::''Discover classes''
| |
| <br>
| |
| ::''Determine the responsibilities of each class''
| |
| <br>
| |
| ::''Describe the relationships between the classes''
| |
| | |
| == Relationships Between Classes ==
| |
| | |
| === Inheritance ===
| |
| <br>
| |
| <br>
| |
| === Aggregation vs. Association ===
| |
| <br>
| |
| | |
| :*An '''aggregation''' is a set of objects that make up a unit. Some examples of aggregation include:
| |
| | |
| <br>
| |
| :::[[Image:Aggregation1.jpg]]
| |
| <br>
| |
| :*An '''association''' is two or more objects that work together, but one is not part of another. Some examples of association include:
| |
| | |
| <br>
| |
| | |
| == Learning Exercise ==
| |
| | |
| <br>
| |
| <br>
| |
| <br>
| |
| <br>
| |