"Phase 0" - select subject
Model objective is a hypothetical information system or independent software product.
You can come up with your own topic or select it from example subject list - if a given topic is used, it is accepted automatically. Otherwise consult the project supervisor.
The initial topic description is tentative, used as a base for first phases of the assignment. As the work progresses, the description should be elaborated (both with own and given topics). As a result, even if multiple groups start from the same topics, designed systems may differ considerably.
Example topics have been grouped by recommended project group sizes. Myös itse keksityissä aiheissa ryhmän laajuus vaikuttaa harjoitustyön vaadittuun laajuuteen.
Writing a separate requirements definition document is not necessary - elaborated tocic description along with use cases written in phase 1 is sufficient as a high-level requirements specification.
Own subjects
Topic description should contain a general description of domain organization (information systems) or assumed user base (independent software), and description of the system to be designed, most important functinality mentioned. The general extent of the topic description should match the example topics.
The system specified in the course project should include at least the following features:
- Core features related to the subject domain that are useful for the potential users (=why the system is designed in the first place) - includes almost always data retrieval and updates.
- A data model consisting of several persistent concepts of the
domain
- An Architecture consisting of multiple components
Note: Most assignments done in Programming 2 course are suitable for a basis for course project, provided that the domain organization is elaborated and requirements are extended. In general, the assignment done in OOAD course should be somewhat more complex compared to one in Programming 2 (excluding the implementation). For example, a cd catalog including albums and artists is most likely too small-scale for an assignment, but a media database containing information about songs, genres and an interface to e.g. online store is much better candidate.
Example subjects
Course management system (1-2 students.)
General
University course management system is used to store information about students and completed courses.
System strucure and functionality
- As the student enters the university, his/her basic information (name, social security id, address, starting year, major subject etc) is entered to the system. The data is entered by departmental office clerk after the student has been accepted to the university. Office clerk can later modify student's information (change of address, etc).
- University faculties consist of departments that organize courses. Course information is stored to the system. Each course has a teacher that is responsible for organizing exams. Teacher's personal data is stored to the system as well. After a student completes all the required course modules (e.g. exam, seminar work, assignment), teacher assigns grade to the student and carry outs the results to the department office. Clerk enters the results to the system. Each record consists of following information: completion date, course type (general-, basic-, subject-, advanced-, language-, or additional studies), ECTS, and the grade.
- A transcript of records is generated for each student twice a year. Clerks and teachers can browse the register with a separate user interface that includes also reporting functionality.
Credit system (1-2)
General
Credit institution is a national organization representing
various international credit card companies. Credit system relays
payments by private and business customers and keeps credit ratings
of private customers.
System strucure and functionality
- Credit institution has two kinds of customers: persons (private) and companies (business). Private customers buy goods and services from companies and pay using a credit card granted by the credit institution (the transaction can be carried out with card or in Internet). The customer is identified with credit card number.
- Business customers deliver information about the credit transactions to the credit institution monthly. Based on transactions credit institutino pays the dues to company account each month (excluding 1% commission).
- On the 15. day of each month credit institution aggregates the transactions of each private customer (and possible debt from earlier months), plus a monthly fee of 1 euro. Istitution sends invoice to the customer. Customer may pay off the invoice in full or instalments of 100e + interest for the unpaid debt. The exact calculation of interest dependens on the card type - for example, 3 months euribor + 6% margin). The invoice is paid to credit institution's account via internet bank. If the customer doesn't pay his invoice by due date, credit institution sends a reprimand. If the customer still doesn't pay the invoice, credit institution marks the offense to customer's credit rating. The invoice is recovered by collection agency.
Conference registration application (2-3)
General
Researchers present their scientific results to other
researchers at a scientific conference. The conference is organized
at a city and has a fixed start and end dates. The conference has a
program committee consisting of persons. One of the members is the
chairman of the committee. Before the conference researchers submit
their articles (papers) to the committee. One researcher may send
multiple articles, and an article may have multiple writers from
various universities.
The members of the committee accept or reject the articles (3
reviewers / paper) using the double blind review principle: the
reviewer doesn't know the auther of the paper to be reviewed, and
the author doesn't know the reviewers). It is possible that the
article writer is a member of the committee, but then he/she may
not participate in the review process of that particular
paper.
At least of of the authors of the accepted paper must
participate at the conference to present it to other researchers.
The papers accepted to the conference are published (no longer part
of the registration application) at the organizer's web pages and
in conference proceedings book given to all participants of the
conference.
System strucure and functionality
- The system is implemented as a web application. The data is stored to a database in a separate server. To use the system, registration is required both from researchers and members of the program committee.
- Program committee enters the conference topics and dates (e.g.
deadlines for article drafts and final versions) to the system, and
maximum number of participants to the system. In addition,
committee members select their topics of interest from the total
list of topics.
- Researchers may upload papers to the system. The paper must be
in pdf format and must not contain author information in the draft
version. In case of multiple authors, all may register to the
system and browse article information. Each article receives an id
number that is used to refer them during the submission process.
Paper title, authors and subject keywords are stored as article
metadata in the database.
- The system distributes papers randomly to committee members for review considering subject keywords, number of papers already in review, and possible incapabilities (paper author may not be reviewer). The reviewers are notified about new articles by e-mail and can check the status of the articles any time from the system.
- The reviewers assess the paper by giving points on scale 1-5 in
different categories (e.g. novelty, usage of references, language
content) and suggesting improvements.
- The system calculates an average value of points for each article after the draft deadline, and sends the results to researchers. The acceptance is determined by point value such that at most maximun number of participants is accepted, and articles of less than 2.5 points are not accepted.
- If the paper is accepted, researcher must submit an updated version before the final deadline, accounting the reviewers' comments.
- Researchers (paper authors and anyone interested in the conference topic) can register to the conference. The system shows registration fee (payment by credit card or via international bank transfer). After the information about payments is retrieved from bank's system, the researcher is marked as a participant. If the researcher has submitted an accepted paper, it is marked to be published in the proceedings.
City simulator (2-3)
General
City simulator is used to support town planning, especially in
planning of streets and traffic control. The simulator can be used
to gather statistics of the traffic in existing streets and
simulate the traffic flow in new construction projects. The system
is used by street planners, researchers, and citizens.
System strucure and functionality
- Traffic statistics and new road scenarios are saved in a public geographic database, based in a graph structure: nodes represent crossings and street endpoints, edges represent streets. Road type can be specified as main road (some roads can be highways), street, or cycleway. All roads have names, main roads are also numbered. Road-based statistics about usage have been collected as vehicle/year grouped as light traffic (bicycles etc), private motoring, public transportation, and heavy traffic used by industry and commerce (average emission rates per traffic type are also highlighted). The road can be classified as used, planned, in construction, or in maintenance.
- Town planner updates the road database with information about
new construction and maintenance projects.
- Information concerning traffic in main roads is collected from Transport Agency. Statistics about municipal streets are updated by researchers, assisting the planner.
- Researchers can run simulations to assess the effect of
construction and maintenance projects on traffic flow, jams and
emissions. Different vehicle types and potential routes are taken
into account.
- The system can produce emission reports based on statistics and
simulations to monitor the compliance to EU emission
standards.
Web community (2-3)
General
MethodExp Consulting is a consulting agency specialized in
information systems development methdods. To maintain their brand
as method experts the company management has decided to start a
web-based method community. The community is based on an open
methods directory containing basic data about the methods and case
descriptions about successful real-life information systems
projects. Members of the community can evaluate the methods and
augment the descriptions. In addition the pages
contain focused marketing about the books, courses, and other
commercial training material offered by the consultancy.
System strucure and functionality
- All system data is stored to a lightweight document management system containing page templates of varying structure and functionality (methods directory, product management, tag management, user management), and a database to store user information and metadata. Page content is versioned, allowing moderators and administrators to return the pages to a previous state if necessary.
- Users are given privileges with different view and update rights (visitors, registered users, active users, moderators, administratos). Registered users may modify the general description in the methods directory, active users have additional modification rights (adding new information and methods, correction of erroneous fields). Moderators (empoloyees of the agency or trusted external users) may modify the structure of the methods directory itself, as well as all the content. In addition, moderators may promote registered users to active users. Administrators (technical support of the agency) are responsible for technical details for running the system and assign user privileges to moderators.
- Methods directory is hierarchically structured (e.g. agile vs
plan-driven methods as a top-level classification, XP and SCRUM
under agile methods). Method pages contain metadata fields
modifiable by active users and moderators: title, short
description, purpose, process activities, actors, results. The
general description /comments page and tags are modifiable by all
registered users. Moderators can attach advertisements (product
information or project case studies)to method pages. Advertisement
pages can be modified only by moderators.
- Registered users can attach tags (keywords or short phrases
selected by user) to any page in the community (pages in methods
directory, roduct, or case pages). When a tag is clicked, a list
containing all pages marked with same tag, as well as quick links
to related advertisement pages. The pages in methods directory
contain method names as a tag by default. Moderators and
administrators can manage tags in a centralized manner (e.g.
renaming or deletion within the whole community).
- To promote the community every page contain links to post the page to various social services defined by the administrators (Digg, Facebook, del.icio.us, etc).
