21
edits
Changes
Created page with '=Objective= Your objective at this stage is to create series of core classes designed to interact with the user. These '''Core Classes''' then can be used in development of any i…'
=Objective=
Your objective at this stage is to create series of core classes designed to interact with the user. These '''Core Classes''' then can be used in development of any interactive application.
Please note that the class definitions here are minimum requirement for the Core Classes and you are free to add any enhancements or features you find useful. However make sure that you discuss these enhancements with your professor to make sure they are feasible before implementation.
It is highly recommended to develop the classes in the order they are stated here. You must create your own tester programs for each class (if possible); However, close to due date of each release, a tester program may be provided to help you verify the functionality of your classes. If tester programs are provided, then executables of the test programs will be available on matrix to show you how it is supposed to run.
Start by creating mock-up classes (class declaration and definition with empty methods that only compiles and don't do anything).
Each class MUST have its own header file to hold its declaration and "cpp" file to hold its implementation. To make sure you do not do circular includes follow these simple guidelines:
* Add recompilation safeguards to all your header files.
* Always use forward declaration if possible instead of including a class header-file.
* Use includes only in files in which the actual header file code is used.
* '''Avoid "just in case" includes.'''
=Student Resources=
=Releases and Due Dates=
==R0.2==
===To Do===
'''''checkout''''' your repository using userids and passwords received through your learn.senecac.on.ca email<br/>
Note that the trunk holds several files that are the base of your project.<br />
Then in the Checked out directory:
# Create a direcotry in branches. Name of this directory must be your seneca email id '''''(NOT YOUR WHOLE EMAIL ADDRESS, ONLY THE ID) '''''
#: From now on, this directory will be called '''Your Workspace'''
# In '''your workspace''' create a direcotry called console and add the files you submitted for your console assignment to it.
# using svn command, '''''add''''', add all the newly created directories and their files to svn
# '''''commit''''' the repository with the message (comment) ''"Initial branch creation"''
After doing this with all your team members present (Online or face to face), Browse your ''Console'' codes as a group and choose the best version from them and add it to trunk
#* Any of the group members can do this, but it would be nice if you do this when everyone is present
#* If further changes to console.cpp or console.h are needed, you can apply them too
#* Compile your code with '''Test1Frame.cpp''' works properly
#* After fixing possible bugs recompile and make sure everything is ok and runs properly
# '''''tag''''' the trunk under R0.1 in '''''tags''''' directory
===Due Date===
Wednesday Oct 12th, 23:59
===Exercise===
To prepare and learn how to contribute and also gain mark for your next release do the following exercise.
*[[Learning how to branch and merge exercise - OOP344 20113|Learning how to branch and merge]]
===Tester===
[svn://zenit.senecac.on.ca/oop344/trunk/cioTesters/Test1Frame.cpp Test1Frame.cpp]
Your objective at this stage is to create series of core classes designed to interact with the user. These '''Core Classes''' then can be used in development of any interactive application.
Please note that the class definitions here are minimum requirement for the Core Classes and you are free to add any enhancements or features you find useful. However make sure that you discuss these enhancements with your professor to make sure they are feasible before implementation.
It is highly recommended to develop the classes in the order they are stated here. You must create your own tester programs for each class (if possible); However, close to due date of each release, a tester program may be provided to help you verify the functionality of your classes. If tester programs are provided, then executables of the test programs will be available on matrix to show you how it is supposed to run.
Start by creating mock-up classes (class declaration and definition with empty methods that only compiles and don't do anything).
Each class MUST have its own header file to hold its declaration and "cpp" file to hold its implementation. To make sure you do not do circular includes follow these simple guidelines:
* Add recompilation safeguards to all your header files.
* Always use forward declaration if possible instead of including a class header-file.
* Use includes only in files in which the actual header file code is used.
* '''Avoid "just in case" includes.'''
=Student Resources=
=Releases and Due Dates=
==R0.2==
===To Do===
'''''checkout''''' your repository using userids and passwords received through your learn.senecac.on.ca email<br/>
Note that the trunk holds several files that are the base of your project.<br />
Then in the Checked out directory:
# Create a direcotry in branches. Name of this directory must be your seneca email id '''''(NOT YOUR WHOLE EMAIL ADDRESS, ONLY THE ID) '''''
#: From now on, this directory will be called '''Your Workspace'''
# In '''your workspace''' create a direcotry called console and add the files you submitted for your console assignment to it.
# using svn command, '''''add''''', add all the newly created directories and their files to svn
# '''''commit''''' the repository with the message (comment) ''"Initial branch creation"''
After doing this with all your team members present (Online or face to face), Browse your ''Console'' codes as a group and choose the best version from them and add it to trunk
#* Any of the group members can do this, but it would be nice if you do this when everyone is present
#* If further changes to console.cpp or console.h are needed, you can apply them too
#* Compile your code with '''Test1Frame.cpp''' works properly
#* After fixing possible bugs recompile and make sure everything is ok and runs properly
# '''''tag''''' the trunk under R0.1 in '''''tags''''' directory
===Due Date===
Wednesday Oct 12th, 23:59
===Exercise===
To prepare and learn how to contribute and also gain mark for your next release do the following exercise.
*[[Learning how to branch and merge exercise - OOP344 20113|Learning how to branch and merge]]
===Tester===
[svn://zenit.senecac.on.ca/oop344/trunk/cioTesters/Test1Frame.cpp Test1Frame.cpp]