Terrapin Project Scope

From IS480
Jump to navigation Jump to search


by Team Optimus


For this project, our web-based system will address the major pain points highlighted by the instructors.
Hence, the features our system will provide include;

Timetabling of Student Schedules Module

For every start of the term, students are assigned to their project groups. However, this is no easy task for students to reconcile their common timings for supervisor project meetings.
With that, instructors also face difficulties in accommodating students’ meeting needs across various Software Engineering classes.

Our system would;

  • Allow the instructor to specify the available timeslots to be released for supervisor meetings with the students
  • Allow individual student to enter their timetable and share it with their group members for collation
  • Tabulate best fitting for supervisor meeting timeslots vs available student timeslots
  • Students would be able to upload their additional contact details (MSN, Mobile etc)

Student Projects/Assignments Preparation Module for Instructors

Before codes are submitted to the server, extensive preparations are required from the instructors to assign code repositories for each student. Our system would;

  • Automatically generate list of Code Repositories for each student projects in the server based on team name
  • Automatically create deployment folder and allow self-deployment of student submitted projects in the server

Student Group Project Reporting Module

Every group is tasked a major group project during the term as part of the Software Engineering curriculum. These projects are usually submitted to a server where instructors will proceed for grading.

Additional details of the group project development process are required by the instructor to facilitate his marking for each individual student. As such our system would provide:

  • Statistics on teams that has submitted their projects
  • Usage of Log4j software to do logging - separate log file for each team (real time)

Group Project Student Allocation Module

To ensure consistency of student mix in allocating students in various project groupings, instructors have used criterias such as GPA, nationality, and gender to assign students to groups. This is currently done manually. Our system would allow;

  • Instructors to upload a CSV files containing student information into the system
  • Instructors to assign weightings to parameters like GPA, nationality, gender
  • Allow instructors to specify additional parameters to be taken into consideration, should the need arise in subsequent terms
  • Return results of Student Project Groups based on Instructors specified criteria

It is important to note that the algorithm for assigning students will be based solely on the instructors’ specifications.

Peer Evaluation Management Module

Peer evaluation is an important component for students to provide feedbacks on one another’s performance in their project group. However, these collations of feedbacks are usually done manually by instructors via email. Our system would allow;

  • Instructors to create student peer feedback reports after vetting and then exporting it to PDF and mailing it to students
  • Instructor to randomize the order in which comments come in to prevent students from being able to "guess" who might be the one giving the comments

Create/Upload Code bases to Code Checking System Module

Plagiarism is a serious offence, and the school treats it very seriously. Given the nature of software that comes with massive lines of codes, detecting students’ projects or assignments with similar codes amongst their peers can be a cumbersome process. Hence, our system would allow;

  • Instructors to upload students’ code bases to a web service that does checking and comparing of submitted codes for similarities amongst the other submissions
  • Return result of suspected code similarities

In addition, our project would also include various project development tools necessary for the Software Engineering course, which includes;

Single Sign-On

Allows automatic logon capability (similar to SMUVista and Internet Explorer)

Tools for Software Engineering

Bug Tracker - Open Source, using Mantis or Bug Zero components

Subversioning - Includes functionality that allows students to organize and easily manage current and historical version of files such as reports, code and documentation.

Project Collaboration Tools – WIKI, Discussion boards, Document Repository Provides students a channel to write their project progress/thoughts/ideas on a WIKI website and share it with their group members. Document Repository that keeps track versions of uploaded project documentations eg. Project Proposals, Reports etc.

Resources & References

Following are the list of resources that we can look upon to refer during our project implementation for ideas, inspirations as well as a learning resource. As the complexity of project increases, our resource list will be updated and hence this list is non-exhaustive.

SubVersioning Tools

  • Tortoise SVN - tortoisesvn.tigris.org - TortoiseSVN is TortoiseCVS for Subversion. Enables Subversion commands directly in Windows explorer.

Bug Tracking Tools

  • Mantis Bug Tracker - www.mantisbt.org - MantisBT is a popular free web-based bug tracking system. It is written in PHP works with MySQL, MS SQL, and PostgreSQL databases.
  • Bug Zero - www.websina.com/bugzero/ - Bug-zero, a bug tracking, defect tracking, and issue tracking tool, a problem and incident tracker and change management system.
  • BugZilla - www.bugzilla.org/ - Bug tracking used by the Mozilla projects. Inherently web-based, written in Perl, and uses MySQL as its database back-end. Open-Source.

MOSS – Measure of Software Similarities

Shell Scripting for Linux