Http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE 517 Fall 2010/ch1 S10 MS: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 67: Line 67:
<br>
<br>


=============================================


The idea behind this Restaurant O-O Design Game is to
The idea behind this Restaurant O-O Design Game is to


- Decide which elements are classes - Nouns
:* Decide which elements are classes - Nouns
- Determine the responsibilities (methods) of each class - Verbs
:* Determine the responsibilities (methods) of each class - Verbs
- Describe the relationships between the classes
:* Describe the relationships between the classes
- Create a "CRC Card" for each class on the provided flash cards.
:* Create a "CRC Card" for each class on the provided flash cards.
        - CRC Stands for "Classes, Responsibilities, and Collaborators"
:::  CRC Stands for "Classes, Responsibilities, and Collaborators"




Try organinzing classes so that a common superclass can take care of some
Try organinzing classes so that a common superclass can take care of some responsibilities.
responsibilities.


- Team members should find the four main classes they think should exist
:* Team members should find the four main classes they think should exist in a small restaurant.
in a small restaurant.
:::  This means making a list of nouns and choosing the four most practical candidates.
        -This means making a list of nouns and choosing the four most practical
:::  Write out one class per index card.
candidates.
        -Write out one class per index card.


- Teams should write at least one responsibility for each class and come
:* Teams should write at least one responsibility for each class and come up with two total collaborators.
up with two total collaborators.
:::  Find one important task a restaurant would need to complete for each class, and write it on the CRC Card.
        -Find one important task a restaurant would need to complete for each
:::  Ask your team if this task needs help from other classes, and write this collaborator on the index card.
class, and write it on the CRC Card.
        -Ask your team if this task needs help from other classes, and write this
collaborator on the index card.


---------------------------------------
---------------------------------------

Revision as of 14:30, 27 March 2008

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



Classes

While programming in an object-oriented way, you must:

Discover classes


Determine the responsibilities of each class


Describe the relationships between the classes

Relationships Between Classes

Inheritance



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:


Learning Exercise




The idea behind this Restaurant O-O Design Game is to

  • Decide which elements are classes - Nouns
  • Determine the responsibilities (methods) of each class - Verbs
  • Describe the relationships between the classes
  • Create a "CRC Card" for each class on the provided flash cards.
CRC Stands for "Classes, Responsibilities, and Collaborators"


Try organinzing classes so that a common superclass can take care of some responsibilities.

  • Team members should find the four main classes they think should exist in a small restaurant.
This means making a list of nouns and choosing the four most practical candidates.
Write out one class per index card.
  • Teams should write at least one responsibility for each class and come up with two total collaborators.
Find one important task a restaurant would need to complete for each class, and write it on the CRC Card.
Ask your team if this task needs help from other classes, and write this collaborator on the index card.

An example of a completed CRC Card: