Escolar Documentos
Profissional Documentos
Cultura Documentos
Student Guidelines
June 2004
Student Guidelines
for
Communication Software Development and Project Management (E6733)
1: INTRODUCTION
All MSc (Communication Software & Networks) students are required to undertake a software
development project (E6733) or a research dissertation project. This document provides the guideline
for the software development project.
i) Independent Study
ii) Product, and Technical Process and Management Practice
Each software development project will be supervised by two or more staffs. It will be carried out by
a group of 4-6 students.
All proposed projects should cover the complete software development lifecycle instrumented with
proper project management practice. They should also develop software based on the latest software
and networking technology. Each student is expected to spend a minimum of 260 hours to complete
the project.
All projects are proposed by staffs through submitting project proposals according to the format
shown in the attached sample. Students select their projects from the list of proposed projects. A
copy of the Project Selection Form for students to choose their project is also attached.
Full-time students start their projects in the third week of Semester 1. They complete their projects in
week 14 of Semester 2.
Part-time students start their projects in week 18 of Semester 1 in Year 1. They complete their
projects in week 14 of Semester 2 in Year 2.
2
3: PROJECT FRAMEWORK
At the beginning of project lifecycle, all the students are required to successfully complete 12-hour
project management training. The training will be conducted in four sessions with three hours per
session.
Upon completion of the training, the students will sit for a paper.
Each student in a project will be assigned with an independent study task right at the beginning of the
project. The task should aim to make significant contribution to the product to be developed in the
project. It should aims on problems that already have methods to solve them but none of the team
members know these methods. It should not be a research problem.
There are many kinds of independent study can be configured in a software development project.
Some examples are as follows:
1) Study a software development tool that is to be used in the project, teach the
team members, and provide technical support for the use throughout the whole project
lifecycle.
2) Study an existing prototype or open-source software that is to be used as a
base or component in the project, teach the team members, and provide the related
technical support throughout the whole project lifecycle.
The task should be completed independently before the commencement of Semester 2. Upon
completion, a 10-page report should be prepared by the student to report the result.
The product delivered from the project should be assessed with respect to the objective of the
project. At the end of Semester 1, the objective of the project should be freeze.
Both the technical process and project management practice should also be assessed.
3
4: TECHNICAL PROCESS
All projects will apply the industry standard Object-Oriented software development methodology,
Unified Modeling Process, to develop a software system from its requirements. The main
characteristics of the project approach are:
1) Survey of Existing Products: At the beginning, all projects should do some survey of
existing products. These products will serve as examples to target systems. It may also help
the project team in judging the standard required.
2) Technical Feasibility Study: If the project team is not familiar with the use of some
technology, some technical feasibility and possibly prototype implementation should be
carried out on a small scale before embarking on the full-scale.
3) Requirements Capture: Requirements are defined in terms of use-cases in a use-case
model. The output of this process is a requirements specification. A suggested format of
requirement specification is attached.
4) Analysis: Use-cases are realized conceptually and analyzed. Classes are identified and
discovered from the realization. The output of this process is an analysis model. A suggested
format of analysis model is attached.
5) Design: The realization of use-cases is further refined to take implementation aspects into
considerations. The object model is further refined to reflect the realization. The output of
this process is a design specification. A suggested format of design specification is attached.
6) Implementation: The design specified in the design specification is implemented using the
target technology and programming languages.
7) Testing: The system is tested in terms of use-cases. A set of test cases and its expected
result should be documented and submitted as a project deliverable.
4
5: PRJECT MANAGEMENT PRACTICE
Concise and proper project management practice should be carried out throughout the whole project
lifecycle.
A concise project plan with the following items should be prepared and submitted to the lab
technician by the end of the fourth week after the project commences:
1) Project Objective
2) Project Scope
3) A detailed Gantt chart to show the plan for all the activities
4) A concise description of an independent study component for each team
member
The project plan should be freeze after the submission of documentations for the first evaluation.
Before this, a revised plan should be submitted if there is any change.
As part of general guideline on project review, a project review meeting should be conducted on
weekly basis for full-time software projects. And, a project review meeting should be conducted on
every two weeks for part-time software projects. The Gantt chart in the project plan should be
updated and reviewed in each project review meeting to show the progress of the project. By the end
first week after a project commences, each project should submits a plan for all the review meetings
throughout the project lifecycle to the lab technician. The meeting should hold on a fixed day and
time in the week (e.g., Saturday, Wednesday). A minute for the meeting that is held in the previous
week and the associated Gantt chart should be submitted to the lab technician by the following
Tuesday.
A statistics will be compiled by the software project coordinator to show the timeliness of project
management documents submission. The statistics will be submitted to Head ICIS on quarterly basis.
5
6: PROJECT DELIVERABLES
This section summarizes all the project deliverables. These deliverables are to be submitted
according to the project milestones that will be discussed in the next section.
For each project, the following project management documents are to be prepared and submitted to
the lab technician according to the schedule defined:
7: PROJECT SIGN-OFF
Upon completion, each project must be formally sign-off. All the project assessments will be
considered as invalid if the project has not been formally signed off. It is the project team and main
supervisor responsibility to ensure that the project is signed off formally upon completion. The
project sign-off procedure is as follows:
1) Submit a copy of CD that stores your final system, source codes, and documentation to a
technician.
2) Submit a hard-bound final copy of all the documentations to the technician.
3) The technician will follow your user manual to install the system and run the test cases.
4) If 3) can be carried out successfully, the technician will sign on the hardcopy of the
documentations.
5) The project team will submit the set of documentations signed by the technician to the main
supervisor.
6) The main supervisor will do a final check to confirm that all the required amendments have
been made and the documentations are acceptable. If they are confirmed acceptable, he/she
will sign on the documentations.
6
8: PROJECT MILESTONES
The main major project milestones for full-time and part-time students are listed in Table 1 and 2
respectively. The schedule for project management document submission is listed in Table 3.
7
Table 2: Major Milestones for Part-Time Students
8
Software Project Proposal – A Sample
1) Supervisors: Dr A, Dr Y
2) Project Description:
Most object-oriented (OO) software development methodologies adopt OO analysis that realize
use-cases in terms of objects and their interactions at the early stage of requirements analysis.
They force analysts to make decisions on these designs prematurely through trial and error. This
has become a major problem in OO software development today.
This project is to develop a graphical CASE tool to implement an approach that has been
developed to address the above-mentioned problem. In the proposed approach, use-cases are
realized in DF nets instead of collaboration and sequence diagrams. The tool will be developed in
Java through extending an existing tool developed from a research project. The graphical
interface for specifying DF nets has already been implemented in the existing tool. The
objectives of this project are as follows:
Students who choose this project are expected to be proficient on Java. Knowledge and
experience on component-based software development will be an added advantage. Knowledge
and experience on developing graphical tool will also be relevant.
5) Special skill needed: Proficient in Java and good knowledge on Visual C++ and component-
based software development.
9
School of Electrical & Electronic Engineering
Information Communication Institute of Singapore
Block S2, Nanyang Avenue, Singapore 639798 Tel: (65) 790 6028 Fax: (65) 792 2971
Instruction:
1. Form a project group of SIX members (If you cannot form a group, please submit your form on
individual basis and we will find a group for you. However, groups will have a higher priority in
getting their choices).
2. Choose Two (2) projects in descending order of your preference.
3. Return the completed form in the Drop-Box provided near the printer in the Practicum Lab of S2-
B3a-01
Project Team:
Team Member Academic qualification (e.g., BEng in
EE, BSc in CS, etc.) and relevant
Name Matriculation Signature experience
Number
Project Selected:
1st Choice Project Title and Id:
10
Requirements Specification – Suggested Format
1. Introduction
3. Use-Case Model
3.1. Overview
{Please draw use case diagrams (ellipses) to show all the use cases and actors and their
interactions}
3.2. Actors
{Please list and describe each real use case. To avoid the repetition in describing similar use
cases, you may construct some abstract, inclusion or extension use cases in Section 3.4 and
use them to describe the use cases here}
11
{Please list and describe each abstract, extension and inclusion use cases here}
4. Conclusion
{Please give a summary on what the project team has achieved in Requirements Capture. You
should also highlight the foreseeable difficulties (if any) that you may encounter in the process of
completing the project.}
12
Analysis Model – Suggested Format
1. Introduction
2. Use-Case Realization--Analysis
{Please describe each abstract, extension and inclusion use cases use case as at Section 3.2
here}
3. Analysis Class
3.1. Overview
{Please include the list of classes with a concise description on what each class represents}
{Please draw the overall class diagrams in this sections. The stereotype and the attributes of each
class should be shown in the diagram. The relationships between classes should also be shown in
the diagram}
{For each class, please state its responsibilities and special requirements in this section}
4. Architecture Description
13
1. analysis packages (including service package): here you should show the partition of use cases
and classes for each package clearly.
2. common non-functional requirements
3. highlight the key classes (with reference to the class specification) and any special
treatment needed: just state the name and the reference, but do not repeat the class
specification here
4. highlight the use cases realization—analysis that realizes some important and critical
functionality: just state the name and the reference, but do not repeat the specification of use
case realization—analysis here.
5. Prioritization of use cases for the next workflow}
5. Conclusion
{Please give a summary on what the project team has achieved in Analysis. You should also
highlight the foreseeable difficulties (if any) that you may encounter in the process of completing
the project.}
14
Design Specification --- Suggested Format
1. Introduction
2. Architecture Description
3. Use-Case Realization--Design
{Please describe each abstract, extension and inclusion use cases use case as at Section 3.1
here}
15
4. Design Class
4.1. Overview
{Please include the list of classes with a concise description on what each class represents}
{Please draw the overall class diagrams in this section. The stereotype of each class should be
shown in the diagram. The attributes (with types) and operations (with signatures) should be
shown in the class diagrams. However, for classes that will be implemented in databases, the
operations should be excluded from the class diagrams. The relationships between classes should
also be shown in the diagrams}
{For each class, please gives a brief description of its responsibilities, its attributes, its operations
and its special requirements; for each relationship, please also give a brief description.}
{For each complex operation, please specify concisely a method to implement the operation.}
5. Database Design
{Please show the detailed database schema for all the databases that will be implemented in the
project}
6. Conclusion
{Please give a summary on what the project team has achieved in Design. You should also
highlight the foreseeable difficulties (if any) that you may encounter in the process of
implementing the project.}
16
User Manual – Suggested Format
Each project must prepare a well written and easy to read and understand User Manual that includes
the following sections.
1. Introduction
2. The System
{Please structures this chapter by subsystem and describes the use of a subsystem by describing the
use of each use-case in the subsystem. You may further divide this chapter by having one chapter for
one subsystem. Within a subsystem, you may further classify the use-cases according to their
functional need (e.g., system administrator role and other user role). The following should be
included in the description for a use-case:
1) The purpose and the context (when the use case is used) of the use-case
2) Step by step procedure on the operating of the use-case
3) Use interface format and layout for the use-case
4) Errors that may result in the operating of the use-case and the associated error
messages
5) Documents and reports generated with format included}
17
5. Wrapping Up
{You should mention the limitation of your system (if any) and give suggestion on the next step}
18