Home
Education Page
Description
Schedule
Slides
Assignments
Projects
Reviews
Literature
Center
Master Program
Center
Home
Courses
People
Projects
Page
Edit Page
Rename Page
Attach File
Printable
Wiki Source
More ...
Web
Recent Changes
Notify Service
News
Page Index
Search
More ...
Wiki
About TWiki
Text Formatting
Registration
Change Password
Reset Password
Users
Groups
Log In
or
Register
Software Project
Swe03
After the introductory [[CourseAssignments][assignments]] you will work together in a team of upto 5 developers to realize a project specified by an internal or external client. As in real life, requirements may change during the course of the project. %TOC% --------------++ Projects -----+++ Project Topics 1 <strike>[[ATerm Visualization]]</strike> (canceled) ([[ATerm Visualization Log][Log]]) * Philip Bijker, Potluri Gopi Krishna, Potluri Rajeev Krishna 1 [[Benchmarking Framework]] ([[Benchmarking Framework Log][Log]]) * Robert van Herk, Peter Nagel, Robert Verrips, Joost Verhoog 1 [[Unit Testing]] ([[Unit Testing Log][Log]]) * Hanga Boros, Valentina Buffone, Pedro Asseiceiro, Adrian Kentsch, Peter van Keeken, Koen Muilwijk 1 [[Software Logistics Environment]] ([[Software Logistics Environment Log][Log]]) ([[http://www.students.cs.uu.nl/people/nreijngo/logistique][Website]]) * Richard Nieuwenhuis, Guno Heitman, Maarten Kolthoff, Roy van den Broek, Ingmar Brouns, Niels van der Velden, Edwin van Rijkom, Niels Reijngoud, Kang Ning 1 <strike>[[NixGUI]]</strike> (canceled) 1 [[Visualization of Code Duplication]] ([[Duplication Visualization Log][Log]]) * Coert Metz, Joris de Wit, Marcel Blokpoel, Jayant Tewarie, Gertjan van Montfoort ------+++ Getting Hired In order to get onto one of the projects you should submit a list of the four projects in the order of your preference. For each project you may include a statement saying why you think you would be a good developer for this project. Applications should be sent in using the [[http://www.cs.uu.nl/docs/submit/][submit system]] (name of 'opgave' is =ProcessRegistration=) and should also contain your name and student number. For consideration you should be officially registered in the Osiris system. The deadline for applying is Thursday, September 4, 15:00. The results will be announced on Friday, September 5. --------------++ Organization ------+++ Project Meetings In the weekly project meetings on Monday afternoon (after lecture), teams make plans for the coming week. Clients may be present during some of the meetings. ------+++ Project Reviews During the weekly project reviews the teams present their achievements of the week to the class and clients. Each week a different theme will be announced, which the presentation should focus on. -----+++ Project Infrastructure * Linux or Windows with standard build tools * Subversion repository * Mailinglist * Maybe: XPlanner * Maybe: Buildfarm ---------------++ Deliverables ------+++ Project Milestones * Process: choose an appropriate [[process model]] * Planning: make a planning for development and releases * Architecture: make overall design * Infrastructure: set up working environment * First release (0.1): present a first working release at an early stage * Second release (0.2): a more mature version to test deployment * Final release (1.0): release and deploy the final result -----+++ Requirements The following requirements are made on all projects. Teams should show that these requirements are complied with. * Use a defined process model * The process model should include planning * Plans should be executed * In the case a plan proves infeasible it should be adapted, this should be announced and be traceable * Specify requirements * Use software configuration management * all artefacts should be under version management * builds should be automated, if not possible a [[build cookbook]] should be maintained * Provide tests, preferably automated unit and integration tests * Keep software maintainable * Deploy the product to the client * Use good design and coding practices ------+++ Project Budget The project is paid by the customer in grade point units. The maximum budget is the number of developers times 100. Negotations between development team and customer determines how much units are earned by which milestones. It is in the interest of the customer to keep prices low to keep budget to spend on more advanced features. It is in the interest of developers to make a realistic plan. The team is free to distribute earned grade points over team members in any way it seems fit. It is in the interest of the team to reward work that has actually been done, rather than necessarliy distribute grade points evenly. Distribution is decided by a majority vote. It is in the interest of team members to pull their weight in order to claim points. A team may make up to team members who are not contributing, but this will be at their own expense. A team may also decide to reward their star programmer with extra points. Grade points are paid upon delivery of the milestone product. The customer may protest against the functionality or quality of the delivered product and pay less. In order to prevent such conflicts a good documentation of promissed features is important. The project grade for each member is his/her salary divided by 10.