Project Guide
Project Guide
1. General Procedures
It’s mandatory for Students in the Bachelor's program in computer Science and IT to
complete a project to satisfy the requirements for graduation.
This section describes general guidelines for the project, including the required proposal,
topics; advisors, deadlines, associated courses, etc. Section 2 lists current faculty members
from whom an advisor must be selected and their areas of interest. Section 3 describes the
required format for the proposal. Section 4 describes the format of the required final oral
presentation of the project results. Section 5 describes the format of the written report and
documentation required for the project.
1.2 REMARKS
The student must obtain prior approval from the expected project advisor for a project to
be undertaken.
1
A student not finding an advisor may request the department to assign an advisor or may
submit a proposal which will be assigned to an advisor by the department. There is a
department limit on the number of advisees per faculty member.
Some advisors under special circumstances allow team projects. In a team proposal, the
final project must be completed before any member of the team can receive a grade.
Furthermore, if the team breaks up, a new proposal from each member is required before
a project can proceed.
2
2. PROJECT PROPOSAL FORMAT
2.1 Introduction
Use the outline on the following page in preparing your proposal. Consult with your
advisor before deviating from the standard outline; failure to do so will result in rejection
of the proposal:
2.2 Project Proposal Outline
i. Title Page
ii. Approval Page
iii. Table of Contents
1. Introduction and Background
1.1 Problem Statement
1.2 Previous Work
1.3 Background
1.4 Glossary
2. Project Description
2.1 Functional Specification
2.1.1 Functions Performed
2.1.2 Limitations and Restrictions
2.1.3 User Interface Design [if required]
2.1.4 Other User Inputs [if required]
2.1.5 Other User Outputs [if required]
2.1.6 System Data Files
2.2 Design Specification
2.2.1 System Data Flow Diagrams
2.2.2 System Structure Chart
2.2.3 System Data Dictionary
2.2.4 Equipment Configuration
2.2.5 Implementation Languages
2.3 Implementation Plan
2.3.1 Deliverable Items
3
2.3.2 Milestone Descriptions
2.3.3 Milestone Completion Criteria
2.3.4 Schedule of Milestone Completion
3. References
4. Qualifications
4.1 Personal Background
4.2 Courses Taken
4.3 Programs Written
4.4 Investigations
4.5 Projects
5. Grading Criteria
4
2.3 Description of Outline Sections
This section describes the purpose or format of each of the sections indicated in the
preceding proposal outline.
i. Title Page
See the sample in Section 3.4 for format.
1.3 Background
Here you develop the theoretical and conceptual framework upon which the
project is based. It is appropriate to describe relevant data representations
and algorithms.
1.4 Glossary
5
This section defines all terms, concepts, symbols, and acronyms used in the
proposal.
2. Project Description
The purpose of this section is to describe the proposed project in detail: what will
you do, how will you do it, and when will you do it.
6
2.1 Functional Specification
This is a detailed specification of functions performed by the proposed
system, from an external or user perspective, not from an internal or
programmer viewpoint. Thus, the system is regarded as a black box with
various inputs and outputs related by the functions performed by the system.
The description should be sufficient for another programmer to implement the
system.
8
2.1.5 System Data Files
Give a precise description of the data files created or maintained by the
system. Thus, for example, you would include files in a database and
you would exclude executable files and text files.
10
2.3 Implementation Plan
This is a description of the plan for implementing the project. Here you
commit yourself to a course of action and specify the criteria by which your
performance is to be judged. Your final grade will depend, in large measure,
upon your success in achieving the goals agreed upon between you and your
project advisor.
12
2.4 Sample Sections of the Project Proposal
The following pages illustrate some of the items which each proposal should contain.
13
2.4.1 Sample Title Page
September 20
14
2.4.2 Sample Approvals Page
APPROVALS
Agree to Advise:
(Signature of Faculty Advisor)
Date Submitted:
Date Approved:
Approved by:
(Signature of Faculty Advisor)
15
2.4.3 Sample User Interface Design
Window with Two Panes
The left pane of this window contains an outline or table of contents of the material in the
right pane. The left pane may be used 1) to rapidly locate material for the right pane, or 2)
to edit and reorganize the right pane material.
2. Second Part
2.1 Sub-part
2.1.1 Sub-sub-part
16
Delete Item deletes the highlighted item in the left pane and all its associated items in the
right pane.
Operations for Right Pane
Operation Visual Keyboard Mouse Access Menu Access
Feedback Access
Page Up See New Page Up Drag
Page Down Page Page Down Scrollbar
Row Up See Highlight Up Arrow Click On
Row Down Move Down Arrow Row
Edit Item See Edit Form Enter Dbl Clk Item Edit | Item
Edit Item opens a form for editing the item attributes.
17
Get Bal
Bal Initial
Balance
Compute
Balance Bal
Get T
T Trans-
action
Current
Balance
Produce
Bank
Statement
Bal T T, Bal
Get Compute
One Current
Read Write Balance
Initial Initial Transaction
Balance Balance
Bal Bal
Read Write
2.4.6 Sample Data Dictionary One One
Data Item Transaction
Abbreviation Type Transaction
Description
Balance Bal Currency Current amount of money in account
18
Transaction T Currency Amount of deposit or withdrawal
Statement Record Balance + {Transaction} + Balance
19
2.4.7 Sample Project Schedule
Item Start Date End Date Jan Feb Mar Apr May
Note: the month names and time bars are merely examples and are not meant to be taken
literally.
2.4.8 Sample Grading Criteria
Item Weight (%) Mark
Software Design 30
Implementation 30
Test Plan 10
User Manual 5
Totals: 100
Grade:
Notes:
1) Identify each item by name.
2) No weight should be less than 5 percent.
20
4. PROJECT ORAL PRESENTATION FORMAT
(a) KEEP IT SIMPLE and understandable - so that when you're done the audience has
an idea of what your project problem and method of solution were. Your presentation
should make sense to a CIS peer who has no prior knowledge of your project. Keep this
criterion in mind as you develop your talk. It should be self-contained, simple, and not
bogged down with unhelpful detail.
(b) Keep the viewgraphs professionally neat, uncluttered, simple, short and to the point.
(c) If appropriate, illustrate your problem with an example. The example could illustrate
the problem itself, the tables or data needed to solve the problem, and the solution
technique.
22
4.2 Presentation Outline
1. Introduction and Background
Purpose of Section: Overview of subject and project
Level of Presentation: Introductory, general, non-technical
1.1 Problem Statement
1.2 Previous Work
1.3 Background
1.4 Brief Project Description (what and why)
2. System Functional Specification
Purpose of Section: Detailed explanation of what the system does, not
how the function is accomplished
Level of Presentation: System user, not programmer
2.1 Functions Performed
2.2 User Interface Design [if required]
2.3 Other User Inputs [if required]
2.4 Other User Outputs [if required]
2.5 System Files
2.6 Internal and External Limitations and Restrictions
3. System Design Overview
Purpose of Section: Overview of system structure and operation
Level of Presentation: CIS student peer.
3.1 System Organizational Chart
3.2 System Flow Chart (data and/or control)
3.3 System-wide Data Structures (internal)
3.4 Description of System operation
3.5 Equipment Configuration
3.6 Implementation Languages
23
4. Selected Subprogram Descriptions
Purpose of Section: Functional (what) and operational (how)
description of selected subprogram.
Level of Presentation: CIS student peer.
4.1 Subprogram Functional Specification
4.1.1 Functions Performed
4.1.2 Interface Specification (Arg’s, Globals, Files, etc.)
4.1.3 Limitations and Restrictions
4.2 Subprogram Description
4.2.1 Local Data Specification
4.2.2 Algorithm Description
5. Project Testing
Purpose of Section: Functional (what) and operational (how)
Level of Presentation: CIS student peer.
5.1 Description of Test Case Selection Procedure
5.2 Test Result Evaluation Method
5.3 Sample Test Runs
5.4 Discussion of Test Results
6. Conclusions
Purpose of Section: Description of what you learned from working on
the project.
Level of Presentation: CIS student peer.
6.1 Problems Encountered and Solved
6.2 Suggestions for Better Approach to Problem
6.3 Suggestions for Future Extensions to Project
24
5. PROJECT FINAL REPORT FORMAT
Check with your advisor for modifications appropriate to your project, particularly for
hardware projects. Submit the documentation, one copy to your advisor, and one copy.
25
5.1 Report Outline
Note: Section numbers as shown are mandatory; font, indentation and main section titles
in bold are merely for clarity here and are optional.
i Title Page
ii Acceptance/Approval
Page iii Abstract
iv Key Words and Phrases
v Computing Review Subject Codes (see last page)
vi Table of Contents
1. Introduction and Background
1.1 Statement of Problem Area (brief, non-technical)
1.2 Previous and Current Work, Methods and Procedures (representative)
1.3 Background
1.4 Brief Project Description (overview of new, extended or
different functions, structure or operation)
1.5 Purpose/Objectives/justification of Project (theoretical, practical, or
educational impacts on hardware, software, or users)
2. System Functional Specification
2.1 Functions Performed (itemize and describe)
2.2 User Interface Design [if required]
2.2 Other User Input Preview [if required]
2.3 Other User Output Preview [if required]
2.4 System Data Base/File Structure Preview
2.5 External and Internal Limitations and Restrictions
Prof. Turoff requires the following items as well:
2.6 User Interface Specification
5.5.1 Interface Metaphor Model
5.5.2 User Screens/Dialog
5.5.3 Report Formats/Sample Data
5.5.4 On-line Help Material
26
5.5.5 Error Conditions and System Messages
5.5.6 Control Functions
3. System Performance Requirements
3.1 Efficiency (speed, size, peripheral device usage)
3.2 Reliability
27
3.2.1 Description of Reliability Measures (accuracy,
precision, consistency, reproducibility, etc.)
3.2.2 Error/Failure Detection and Recovery (failure modes, failure
consequences, error logging and reporting, manual and automatic
recovery procedures)
3.2.3 Allowable/Acceptable Error/Failure Rate
3.3 Security
3.3.1 Hardware Security
3.3.2 Software Security
3.3.3 Data Security
3.3.4 Execution Security (user validation)
3.4 Maintainability
3.5 Modifiability
3.6 Portability
3.7 Others
4. System Design Overview
4.1 System Data Flow Diagrams
4.2 System Structure Charts
4.3 System Data Dictionary
4.4 System Internal Data Structure Preview
4.5 Description of System Operation (high level)
4.6 Equipment Configuration (diagram and description)
4.7 Implementation Languages (which and why)
4.8 Required Support Software (pre-existing)
5. System Data Structure Specifications
5.1 Other User Input Specification
5.1.1 Identification of Input Data
5.1.2 Source of Input Data (NOT input device)
5.1.3 Input Medium and/or Device
5.1.4 Data Format/Syntax
5.1.5 Legal Value Specification
5.1.6 Examples
28
5.2 Other User Output Specification
5.2.1 Identification of Output Data
5.2.2 Destination of Output Data (NOT output device)
5.2.3 Output Medium and/or Device
5.2.4 Output Format/Syntax
5.2.5 Output Interpretation (meaning of output)
29
5.2.6 Examples
5.3 System Data Base/File Structure Specification
5.3.1 Identification of Data Base/Files
5.3.2 (Sub)systems Accessing the Data Base (creating, updating, using;
frequency)
5.3.3 Logical File Structure (record formats, file organization, access
methods, rationale, examples)
5.3.4 Physical File Structure (storage device, blocking, organization,
access, etc.)
5.3.5 Data Base Management Subsystems Used (internal or external)
5.3.6 Data Base Creation and Update Procedure (if NOT by system)
5.4 System Internal Data Structure Specification
5.4.1 Identification of Data-Structures
5.4.2 Modules Accessing Structures (creating, updating, using)
5.4.3 Logical Structure of Data (format, organization, access, rationale,
examples)
6. Module Design specifications (for each module)
6.1 Module Functional specification
6.1.1 Functions Performed
6.1.2 Module Interface Specifications (input/output
arguments/global variables/files)
6.1.3 Module Limitations and Restrictions
6.2 Module operational Specification
6.2.1 Locally Declared Data Specifibations (variable dictionary)
6.2.2 Algorithm Specification (flowchart, pseudocode, decision table,
etc)
6.2.3 Description of Module Operation
7. System Verification
7.1 Items/Functions to be Tested
7.2 Description of Test Cases
7.3 Justification of Test Cases
7.4 Test Run Procedures and Results
30
7.5 Discussion of Test Results
Prof. Turoff requires the following items as well:
7.6 Evaluation of User System
5.6.1 Protocol Study
5.6.2 User Survey
5.6.3 Real Time Monitoring
31
5.6.4 Interviews
8. Conclusions
8.1 Summary
8.2 Problems Encountered and Solved
8.3 Suggestions for Better Approaches to Problem/Project
8.4 Suggestions for Future Extensions to Project
9. Bibliography
10. Appendices
11. Program Listings
12. User Manual