![]() |
![]() |
|
![]() |
Software Engineering Capstone Project Course: Rules for ProjectsThis document contains the rules for the Software Engineering Capstone Project. There is also a pdf version of this document and a French version (version Fran;çais) 1. Group sizeStudents will normally work in groups of between 2 and 6. 2. Kinds of projects that are acceptableAll the projects must involve serious software engineering work. You must do requirements analysis, design, implementation, testing and deployment. However the details will depend heavily on the project. A project could be a prototype of a more complex system, or a final version of a simpler system. It could also be an enhancement to an existing system. The waterfall model is not acceptable; an iterative approach should be used, and agile methods are highly recommended. All aspects of quality will be important, including maintainability, usability and reliability. You will also have to use project management skills to estimate costs, plan schedules, make sure you don't try to do too much etc. 3. Customers and project selectionEach project has to have at least one defined customer -- the person who has the problem you are solving. This could be a professor, somebody from a company, or the 'open market'. In the latter case, you have to do a market analysis and actually find some people who will review requirements and prototypes and beta-test your product (these people should not be students in SITE). You will spend a lot of time interacting with your customer(s); they will be asked to read your documentation, act as beta testers and complete two questionnaires that will be used to help determine your final mark. Students are responsible for defining their own teams, their projects, and finding customers for their projects. Students will be provided guidance by the professor in charge of the project course, who will email them in the weeks (and months) before the first class with various suggested projects (with customers) 4. Type of softwareAnything goes as long as it involves real software development. Some possible types of software include data processing, MIS, personal productivity, e-commerce, telecom, real-time, embedded, games, etc. However, for some kinds of software you will clearly have a harder time delivering something, so you will have to justify the feasibility of the project. Web sites, per se, are not considered valid projects, but the web can be used as the user interface provided there is useful programmed functionality in the site (e.g. JavaScript/Ajax and server capabilities). Projects that purely involve research (e.g. analyzing an algorithm) are not acceptable, although developing software to support researchers would be acceptable if it meets other criteria. 5. Team structureThe professor in charge of the capstone course will act as if he were the CEO of a small company, where each team is a unit of that company. The professor will veto things of which he or she disapproves, and also give students general advice, etc. One member of each team will normally be elected 'project manager'. This does not mean that that person can order the others around, just that he has the prime responsibility for project management. Others on the team may take other specialized responsibilities such as 'chief programmer', 'user interface expert', 'documentation manager/technical writer/configuration manager', 'quality assurance manager', or 'requirements manager'. Part of your documentation will include a description the work each person performed. 6. How will projects be found?This can occur in several ways. Firstly, if any group of students has a project in mind, they can suggest it to the professor. Secondly, the professor will approach industry and faculty members to see if they have any ideas. Although not the preferred situation, the professor may accept projects that relate to a student's existing employer. The student should discuss this with the professor in advance. In general, the following should normally apply: a) Capstone project work should be in addition to the paid work, b) the professor in charge must retain the ability to direct the student's work, with the employer being considered the customer, c) the student must be able to stick to the same schedule as other students in the team, and d) the employer must declare in writing that the students will be able to manage their own project according to these rules, and that the project can continue even if the employer changes plans. 7. Financial compensation and intellectual propertyUnless the students and customer have an agreement (explicit or implicit) to the contrary, SEG project students retain the intellectual property rights to their project (but only those aspects of the project they actually worked on). They may therefore sell it or derivatives of it for profit. Students have a responsibility to let their customers know this, and give the customers the opportunity to negotiate some alternative arrangement. Students may, for example, receive financial compensation for their project work; if they receive such compensation then the customer will normally retain the intellectual property rights. Any intellectual property arrangements must be disclosed to the SEG project supervisor. In all cases, the SEG project supervisor must be granted rights to read and run results of the project. 8. ScheduleNote: SEG490 and SEG4911 are held concurrently. SEG4910 is the start of the project and SEG4911 is the conclusion. All students in both SEG4910 and SEG4911 attend all student presentations for both courses. The professor in charge of each course will post the schedule of meetings. Some meetings will be organizational in nature (for either SEG4910 or for SEG4911. Others will be presentations, where both groups attend. SEG4910 (Sept-Dec for out-of-phase students; Jan-April for regular co-op students)
SEG4911 (Jan-April for out-of-phase students; Sept-Dec for regular co-op students
9. On peut faire le projet en français.10. WorkloadEach person to put in about 3-4 person-weeks of work (full-time equivalent) for each of the two semesters of the project. This is the normal workload for a 1 semester 3-credit course. 11. GradingYour grade will be determined as follows.
The following items will be judged by the professor, based on the six deliverables (three each semester).
Please note that the above grading scheme provides 100% for the project. A mark will be assigned to each of the two courses based on half of the project grading, that is, the grade for SEG4910 will be based on the first half of project grade, while the grade for SEG4911 will be based on the second half of the project grade. 12. ProposalsIn order to officially start work on your project, the SEG project professor must accept a written proposal. This should be reasonably detailed and must be accepted by the project start date. You should submit it within the first week of class in SEG4910. The proposal must include:
You will be permitted to make changes to the above as you develop the project, although the original proposal, and any changes, is subject to approval by the professor. 13. Delivery datesRather than imposing specific delivery dates, and agile or iterative approach is required, with continuous or regular delivery of updates. The only hard deadlines are the dates of the presentations, mentioned above, and the date for the system to be in its final state, also mentioned above. 14. Meetings with customersGroups should meet with their customers on a weekly or bi-weekly basis, and more often when requirements are being gathered and prototypes are being evaluated. If the customer is at a distant location, then videoconferencing or audioconferencing communication is acceptable, and regular emails or communications via an issue tracker. 15. Scheduled meetings with the professor in charge of the capstone courseAll students in the course will discuss the progress of each group in regular classes. The professor in charge of the capstone course may schedule with each group a specific time to review the design of both the system being built, and the processess/tools being used to build and test the system. These will be held as needed and will be compulsory for all students as indicated in the tables below. The following will be the general schedule for the meetings. Students from both streams are encouraged to attend all meetings. Each meeting will fit into a 1.5 hour pre-assigned time slot.
The specific dates for the present or coming semester will be as follows. This is subject to change, so attend class and check your emails for details ![]() 16. Presentation in semester 1You will have a fixed time (to be announced by the professor, but likely 15-20 minutes) minutes to present to the class: a) An overview of your project's problem and requirements; b) Your project plan; c) Your plan and approach for addressing quality assurance in your project; d) Any design you have created so far; e) traceability of your requirements to the design and architecture of the system; and f) the test plan, testing strategies and process, and test tools that will be used to verify the requirements and validate the design. Allow for up to 5 minutes of questions during your presentation. 17. Presentations in semester 2For the first semester will have a fixed time in which you should highlight the main difficulties you encountered, and how you overcame them. The objective will be to help the other class members learn something from your experiences. You will be expected to define the progress and quality of what you have developed . Allow for up to 5 minutes of questions during your presentation. You will also give a separate demonstration at the very end o the course. 18. Presentations in general:Consider the following to help improve your presentations:
19. Individual Group MeetingsGroups may also meet with the professor (and/or TA if one is assigned) individually on an ad-hoc basis. Generally speaking, it is expected that groups will schedule such a meeting at least once a month in addition to regularly scheduled meetings when good progress is being made, and that they will schedule even more meetings, as needed, if problems arise. Please try to give 5 days notice of a desired meeting, but if problems occur the professor should be contacted immediately by email, if not in person. If the professor is not satisfied with any work, then he or she may request a meeting. Last update to this page: Tuesday, 11-Jan-2022 18:39:50 EST |