0% found this document useful (0 votes)
44 views

FYPTemplate

This document provides guidelines for students to follow when writing their final year project reports. It outlines the importance of the final report as an evaluation of the student's work and as a reference for others. The report should include all necessary sections and assume the reader has no prior knowledge of the project. It also describes the required sections for different phases of the project and defines intellectual property and plagiarism to avoid issues. The target reader is a bachelor's level computer science student and the report must follow consistent formatting and language guidelines.

Uploaded by

ASIM ZUBAIR 111
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

FYPTemplate

This document provides guidelines for students to follow when writing their final year project reports. It outlines the importance of the final report as an evaluation of the student's work and as a reference for others. The report should include all necessary sections and assume the reader has no prior knowledge of the project. It also describes the required sections for different phases of the project and defines intellectual property and plagiarism to avoid issues. The target reader is a bachelor's level computer science student and the report must follow consistent formatting and language guidelines.

Uploaded by

ASIM ZUBAIR 111
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 51

Final Year Project Template

Dear Students

This guide is prepared to help the students in preparing their final year project reports.
Report writing is one of the primary professional responsibility of a practising software
engineer. The final report of any project is not just a formality. It is a primary product of
the engineering efforts and is often the basis for evaluation of the software engineer’s
professional abilities. The report is also a service to the software community who needs
the information regarding that particular software. The report should stand on its own
and it should include all the necessary sections, targeting at a reader who does not
necessarily have any prior knowledge about the project or the technology involved in it.

How to follow this guideline?

The sections in italics of this format report are instructions that you are supposed to
follow. The other sections are meant as information that will help you to meet the
minimum requirement of the report. The first portion of this report elaborates on the
generic issues involved in report writing such as intellectual property, plagiarism,
formatting etc.

Who is the Target Reader?

The target audience of these project reports is bachelor level CS(SE) student who only
has basic knowledge of the computer science field. You should therefore assume that
the reader is someone who does not know anything about your project but who may
refer your work in his or her own project. Your report should therefore include all the
details about the ‘what?’, ‘why?’ and ‘how?’.

To ensure the reports are easy to read with consistent format, it is very important that
students follow the instructions while writing the report. You have taken several courses
to improve your English writing skills during the BS(CS)/BS(SE) program. You are
supposed to follow the elements and techniques you have learnt in those courses
especially the knowledge you have gained in “Technical Report Writing” should be
evident in all versions of your repors.

1
Capital University of Science and Technology, Islamabad Department of Computer Science
Submission Process

It is the reasonability of the project supervisor to make sure that the template is followed
during the documentation of the different phases of the project. This is a generic
document and it can be changed as per the project requirement but only with the
approval of the project supervisor. You should focus on completing the artifacts
provided in this guideline without worrying about the size of the report. This document
must be submitted to the project coordinator on the due date with proper approval from
the supervisor and co-supervisor. Failure to follow this guideline will result in the
cancelation of the project. The document will be reviewed by supervisor as well as your
English instructor and accepted only when its soundness satisfies both of them.
Following portions of the report must be completed at each step of the projects.
Artefact Completion Stage
Chap 1 of v 1.0 Proposal Defense

Chap 2 , 3 of v1.0 Part 1 Mid Term

v 1.0 Part 1 Final


v 2.0 Part II Mid term
v 3.0 Part II Final

Project Types

There are two types of Final Year Project: the Development Project and the Research project.
● Development Projects
The objective of this type of the project is to develop a system that meets a set of user
needs. This may take many forms such as a server, a program, a library, a collection
of programs, an embedded system, plug-ins, modification to existing software etc.
The focus of this project is on the sound software engineering principles and
functionality of the software you have produced. Your project will be evaluated in
terms of how well it meets the user needs, how well is it tested and the user
friendliness of the interface.
● Research Project

2
Capital University of Science and Technology, Islamabad Department of Computer Science
The objective of the research-oriented project is to solve a research problem. This may
take the form of evaluating the effectiveness of existing solutions, modify existing
solutions or developing a new solution to the problem.
The focus of this project is on the sound experimental technique, and evaluating the
solution thoroughly. You will do a background research into the domain are and develop
a basis of your work. The success of your solution will be evaluated on the basis of
understanding and use of experimental methods as well as evaluation methodology of
your solution.

You should discuss this question with your supervisor at the proposal defence stage of
the project to decide whether your project is a research oriented or a development
project.

What is intellectual property?


Intellectual Property is the term used to describe the outputs of creative endeavor in literary,
artistic, industrial, scientific and engineering fields that can be protected under legislation.
During the course of your project you may generate some novel work therefore it is necessary to
understand the concept of intellectual Property.

Plagiarism – What is it?


a) Unauthorized act of copying/reproducing or attempt to copy an idea, writing or invention of
another person
b) Extraction of academic data which are the results of research undertaken by another person,
such as findings of research, data obtained, whether published or unpublished, without giving
due acknowledgement to the original source.
c) Unauthorized translation of the writing of another person from one language to another
whether wholly or partly.

What must be done to avoid plagiarism?


a) Citation and references.
Following are the main items that require citation.
● Direct quotes: phrases, sentences, or sections copied directly from a text; cite
with quotation marks (use a limited amount of text, not a full text)
Example: “Failure to reference appropriately will be considered unethical
academic behavior and could result in allegations of misconduct.” [1]

Capital University of Science and Technology, Department of Computer


3

Capital University of Science and Technology, Department of Computer


The [1] symbol at the end of the quote refers to the first entry in a list of
references, as shown at the end of this template under a heading ‘references’.

● Paraphrased text: sections of your writing that are based on research (not
common knowledge) but written in your own words (not in quotes
● Facts and Figures: numbers, percentages, and facts that have been collected
by an exclusive source (such as during an experiment or poll)
● Theories, methods, and ideas: any original idea or thought that you find during
your research and present in your writing
● Images, graphs, illustrations: always follow copyright rules when using images,
including those you find online
Paraphrased text, facts and figures, theories, methods and ideas, Images, graphs
and illustrationsall should be referenced with symbols [ ] as shown in above
example. In order to have an accurate record of what you have researched and
therefore an accurate reference, it is important that you write down the details of
your sources as you study. You should keep a complete list of references as
presented in the last section of this report template.

b) Be familiar in the area that you are talking about. By understanding the subject,
you are more likely to write in your own words, rather than restate someone else's
definition of this subject. Look for information on the topic you want to write about.
This can be on the Internet or in books, although books are almost always more
authoritative than the Internet.

c) When in doubt, give credit. Mention the source inside your paraphrase:
"According to Richard Feynman, quantum electrodynamics can be described using
path integral formulations."

Spelling
There is no excuse for spelling mistakes in any report as spelling errors create a bad
impression. Always use a spell checker; they are invaluable for picking up typographical
errors as well as genuine spelling mistakes. Note that spelling checkers cannot detect
cases where the wrong word happens to be a real word e.g. from – form. So a careful
proof read is necessary.

4
Capital University of Science and Technology, Department of Computer
Writing in the third person
We would strongly advise to write FYP report in the third person. This provides a
greater sense of objectivity and distance as the focus is on what is being said rather
than who is saying it. To write in the third person, you write as if you are an outsider
reporting on the aims, methods and outcomes of your project, rather than writing as
though they are happening to you. First person pronouns such as "I" and "We" are
replaced with third person pronouns such as "the project leader/team", "he/she, "it" and
"they".

General Formatting Guidelines


Here are some general formatting guidelines that apply to the entire report:

● Use 1- or 1-1/2-inch margins for all four margins of the report. You might want to
use a 1-1/2-inch margin at the top and 1-inch margins for the left, right, and
bottom.

● Use a 1-1/2-inch left margin if your binding uses a lot of space

● Generally use double-spaced typing except in those areas where single spacing
is shown (for example, in the transmittal letter, descriptive abstract, figure titles,
short vertical lists, and items in the information-sources list).

● Use one side of the paper only.

Headings: Specific Format and


Style First-Level Headings
Follow these guidelines for first-level headings:
● Capitalize each word of first level heading except preposition and article but if
they appear as the first word of heading then capitalize them as well.

● Use Roman OR Arabic numerals with first-levels.

● Either underline the words but not the Roman/Arabic numeral, OR bold the entire
heading including the numeral.

● Make first-levels centered on the page.


5
Capital University of Science and Technology, Department of Computer
● Start a new page whenever you have a first-level heading.

● Begin first-levels on the standard first text line of a page.

● Leave 3 blank lines between first-levels and the first line of text.

● Use 18-font size.

● Use decimal numbering system for headings.

Second-Level Headings

Follow these guidelines for second-level headings:


● Capitalize each word in second-levels heading.
● Use 16-font size and bold.
● Make second-levels flush left.

● Leave 2 blank lines between previous text and second-levels.


● Leave 1 blank line between second-levels and the following text.

Third-Level Headings
Follow these guidelines for third-level headings:
● Make third-levels sentence-style.

● Use bold for third-levels.


● Do not make third-levels a grammatical part of sentences that follow.
● Use the standard spacing between paragraphs for paragraphs that contain third-
levels.

Page-Numbering Style

6
Capital University of Science and Technology, Department of Computer
● All pages within the front and back covers are, but the page number is not always
displayed.
● All pages coming before page 1 of the introduction use lowercase Roman
numerals.
● All pages beginning with page 1 of the introduction use with Arabic numerals.
● Page numbers are not displayed on the transmittal letter, title page, and first
page of the table of contents, page 1 of the introduction, and the appendix divider
page.
● There are several choices of pagination style for the main-text pages:
● Center page numbers at the bottom (halfway between the last text line
and the bottom edge of the paper).
● Place page numbers in the top right corner (on the right margin, halfway
between the top text line and the top edge of the paper). Do not display
page numbers on any page with a centered (first-level) heading (display it
centered at the bottom).
● Some word-processing software causes problems in implementing these
pagination guidelines; let your instructor know.

Figures and Table Labels


● Every figure and table must be labeled and referenced in the text. Label of the
figure is placed at the bottom of the figure and list of figures must also be
generated. A figure without its description cannot convey the intended meaning
to the reader. Label of the table is placed at the top of the tables and list of tables
must also be generated.

7
Capital University of Science and Technology, Department of Computer
8
Capital University of Science and Technology, Department of Computer
Project Title v X.0
Name 1 (Reg1)
Name2 (Reg2)

Fall-2018
Supervised By
Supervisor Name

Department of Computer Science

Capital University of Science & Technology, Islamabad


9
Capital University of Science and Technology, Department of Computer
Submission Form for Final-Year

PROJECT REPORT

Version V X.0 NUMBER OF MEMBERS

TITLE

SUPERVISOR NAME

MEMBER NAME REG. NO. EMAIL ADDRESS

MEMBERS’ SIGNATURES

Supervisor’s Signature

Note 1: This paper must be signed by your supervisor


Note 2: The soft-copies of your project report, source codes, schematics, and executable should be delivered in a CD

10
Capital University of Science and Technology, Department of Computer
Capital University of Science and Technology, Department of Computer
APPROVAL CERTIFICATE

This project, entitled as “Menu Drive (Insert Your Project Title Here) ” has been
approved for the award of

Bachelors of Science in Software Engineering

Committee Signatures:

Supervisor:

(Mr.Qamar Uz Zaman)

Project Coordinator:

(Mr. Ibrar Arshad)

Head of Department:

(Dr. Nayyer Masood)

1
Capital University of Science and Technology, Department of Computer
DECLARATION

I/We, hereby, declare that “No portion of the work referred to, in this project has been
submitted in support of an application for another degree or qualification of this or any
other university/institute or other institution of learning”. It is further declared thatthis
undergraduate project, neither as a whole nor as a part thereof has been copied out
from any sources, wherever references have been provided.

MEMBERS’ SIGNATURES

1
Capital University of Science and Technology, Department of Computer
ACKNOWLEDGEMENTS

It is usual to thank those individuals who have provided particularly useful assistance,
technical or otherwise, during your project. Your supervisor will obviously be pleased to
be acknowledged as he or she will have invested quite a lot of time overseeing your
progress.

1
Capital University of Science and Technology, Department of Computer
DEDICATION
This is an optional section

In this section you dedicate your project to anybody that you feel motivates
you for hard work and putting effort for successful life.

1
Capital University of Science and Technology, Department of Computer
Executive Summary

This should be not more than one page in length (200 words approx.). The summary should
allow the reader who is unfamiliar with the work to gain a swift and accurate impression of what
the project is about, how it arose and what has been achieved.

It is recommended, you write this section when the report is finished.

1
Capital University of Science and Technology, Department of Computer
Table of Contents

This should give a complete list of what the report contains starting with the abstract (the
title page is not included in the contents list).

CHAPTER 1
INTRODUCTION
1.1. PROJECT INTRODUCTION
1.2. EXISTING EXAMPLES / SOLUTIONS
1.3. BUSINESS SCOPE
1.4. Useful TOOLS AND TECHNOLOGIES
1.5. PROJECT WORK BREAK DOWN
1.6. PROJECT TIME LINE
CHAPTER 2
REQUIREMENT SPECIFICATION AND ANALYSIS
2.1. FUNCTIONAL REQUIREMENTS
2.2. NON-FUNCTIONAL REQUIREMENTS
2.3. SELECTED FUNCTIONAL REQUIREMENTS
2.4. SYSTEM USE CASE MODELING
2.5. SYSTEM SEQUENCE DIAGRAM
2.6. DOMAIN MODEL

CHAPTER 3
SYSTEM DESIGN
3.1. LAYER DEFINITION
3.1.1. Presentation LAYER
3.1.2. Business LOGIC LAYER
3.1.3. DATABASE LAYER
3.2. SOFTWARE ARCHITECTURE
3.3. CLASS DIAGRAM
3.4. SEQUENCE DIAGRAM
3.5. ENTITY RELATIONSHIP DIAGRAM
3.6. DATABASE SCHEMA
3.7. USER INTERFACE DESIGN

1
Capital University of Science and Technology, Department of Computer
CHAPTER 4
SOFTWARE DEVELOPMENT
4.1. CODING STANDARDS
4.1.1. INDENTATION
4.1.2. DECLARATION:
4.1.3. STATEMENT STANDARDS
4.1.4. NAMING CONVENTIONS:
4.2. DEVELOPMENT ENVIRONMENT
4.3. DATABASE MANAGEMENT SYSTEM
4.4. SOFTWARE DESCRIPTION

CHAPTER 5
SOFTWARE TESTING
5.1. TESTING METHODOLOGY
5.2. TESTING ENVIRONMENT
5.2.1. TEST CASES
5.2. Testing Results
CHAPTER 6
SOFTWARE DEPLOYMENT
6.1. INSTALLATION/DEPLOMENT PROCESS DESCRIPTION
CHAPTER 7
PROJECT EVALUATION
7.1. PROJECT EVALUATION REPORT

1
Capital University of Science and Technology, Department of Computer
List of Figures
If the report contains figures or tables a list of these should be provided. The list should
give the table or figure number, the title of the table or figure and the page number. If
only a few tables and figures are present, they may be treated on one page. Remember
that all figures and tables used must be referred in the text. For example “The class
diagram shown in Figure 2.1 ”

Figure1. 1: Work breakdown Structure


Figure 1.2: Sample Gant Chart
Figure 2.1: Sample Use case Diagram
Figure 2.2: System Sequence Diagram
Figure 2.3: Domain Model
Figure 3.1: Software Architecture Diagram
Figure 3.2: UML Class Diagram
Figure 3.3: Sequence Diagram
Figure 3.4: Entity Relationship Diagram
Figure 3.5: Database Schema
Figure 3.6: Common GUI elements
Figure 3.7: Example Login Page UI Design with description in text

1
Capital University of Science and Technology, Department of Computer
LIST OF TABLES
Table 2.1: Functional Requirements
Table 2.2: Functional and Non-Functional Requirement
Table 2.1: Use Case 1
Table 2.2: Use Case 1
Table 3.1: Data Dictionary

1
Capital University of Science and Technology, Department of Computer
This page is kept blank

2
Capital University of Science and Technology, Department of Computer
Chapter 1

Introduction

A good introduction should tell the reader what the project is about without assuming
special knowledge and without introducing any specific material that might obscure
the overview. Introduction is mostly written for readers’ who are not experts of the
field.

1.1. Project Introduction


● Brief description of the project: Briefly describe that what the project is. It explains
the immediate context of the problem you want to solve. To start writing your
introduction, first come up with a simple one-sentence summary of the goal of your
project. Then elaborate the statement briefly.

● Introduction of the beneficiary of the project: In this section you will describe the
organization for which you intend to build this project. The origination could be a
company or a single user who would benefit from your application in a particular
way.

1.2. Existing Examples / Solutions

In this section you are supposed to provide the survey of the existing systems or
products that belong to the same domain that you have indentified in the previous
section. This survey should include history and working details of prominent
systems/products that solve the similar problem that you intend to solve. You should
select a relevant case study carefully and also identify any short comings or all those
features that are missing in the existing solutions and you intend to provide in your
project.
2
Capital University of Science and Technology, Department of Computer
1.3. Business Scope

This section will describe the project from the business point of view. It will identify its
business potential with the target market.

You can identify the additional potential customers and emphasize on the possibility
of deploying this project as a commercial product. You can identify the effort and cost
of all the additional resources you need in your project to achieve this aim.

1.4. Useful Tools and Technologies

This section should mention possible technologies that could be used during the designing,
development and testing of your project.

You should mention the technologies that you intend to use with a brief but technical
justification for your decision. Your discussion should include
1. What programming language is you using and why?
2. Which development environment do you intend to use and why?
3. What database (if any) is you using and why?
4. Which operating systems will support your software?
5. What network protocol (if any) is implemented and why?

1.5. Project Work Break Down


All projects require planning, including an outline of who on the team is doing what and
when; thus, you will need to include a Work Breakdown chart. You must identify all the
components of the project and also specify how much time you will spend on each
component. The justification should include your strengths and weakness from the
project point of view and it should indicate that you have allocated appropriate time
period for those modules that you find yourself as your weak points. A typical
software project is divided into several parts as shown in Figure 1
Soft ware

22
Capital University of Science and Technology, Islamabad Department of Computer Science

Implem entatio nStude


Requir ements Gatheri Requir ement Analys Desig Testin
n g
Studen
Stude

Initial Requir of
Detail Identifi ER Archit ectur e
requir cation
ed Diagr am
Class Diagra m
M M
o o
d d
u u
l
e
1 e
St
u
de 2
n S
t
u
d
e
n
You are supposed to provide work breakdown structure of your project along with the
assignment details that which group member will be performing which tasks.

1.6. Project Time Line


A Gantt chart outlines what aspects of the project will be completed and by when. It is an
important component of good project management and something you will probably be
asked to do as a part of your job. A sample Gantt chart is shown in Figure 2.

Figure 1.2: Sample Gant Chart

2
Capital University of Science and Technology, Department of Computer
Chapter 2

Requirement Specification and Analysis

The emphasis of this chapter is on getting an idea of what the requirements are for the
intended software. Students who are doing a research related project would provide literature
survey for their problems. They are expected to understand the relevant papers and provide
summary of the existing work presented in each research paper. Such students should consult
their project supervisor for the detailed instructions related to this chapter.

You should write SRS in precise, clear and plain language so that it can be reviewed
by a business analyst or customer representative with minimal technical expertise.
However it also contains analytical models (use case diagrams, entity relationship
diagrams, data dictionary etc.), which can be used for the detailed design and the
development of the software system.

Requirement Specification
Requirements specification involves frequent communication with system users to determine
specific feature expectations, resolution of conflict or ambiguity in requirements as demanded
by the various users or groups of users and documentation of all aspects of the project
development process from start to finish. Requirements are a description of how a system
should behave or a description of system properties or attributes. It can alternatively be a
statement of 'what' an application is expected to do.

2.1. Functional Requirements

2
Capital University of Science and Technology, Department of Computer
The Functional Requirements Specification documents the operations and activities that a
system must be able to perform. The Functional Requirements Specification is described in
such a way that anyone from non-technical audience can understand. Readers should
understand the system, but no particular technical knowledge should be required to
understand the document.
● Functional Requirements should include:
● Descriptions of data to be entered into the system
● Descriptions of operations performed by each screen
● Descriptions of work-flows performed by the system
● Descriptions of system reports or other outputs
● Who can enter the data into the system
● How the system meets applicable regulatory requirements
Table 2.1: Functional Requirements

S. No. Functional Requirement Type Status


1
2
3

2.2. Non-Functional Requirements

Non-functional requirements cover all the remaining requirements, which are not covered
by the functional requirements. They specify criteria that judge the operation of a system,
rather than specific behaviors, for example: “Modified data in a database should be updated
for all users accessing it within 2 seconds”. Some typical non-functional requirements
include performance, scalability, availability, reliability, maintainability, usability and
security.

You are supposed to discuss both the functional and non-functional requirement
for your project in the Part 1 mid term report. Functional requirements describe
what the system should do while non-functional requirements describe how the
system works. The Format for presenting these requirements is given in Table 2.

Table 2.2: Functional and Non-Functional Requirement

S. No. Non Functional Requirements Category

2
Capital University of Science and Technology, Department of Computer
1
2
3…

2.3. Selected Functional Requirements


List of selected functional requirements for current iteration.

Table 2.3: Selected Functional Requirement

S. No. Functional Requirement Type


1
2
3

2.4. System Use Case Modeling


A use case defines a set of use-case instances, where each instance is a sequence of actions a
system performs that yields an observable result of value to a particular actor. The
functionality of a system is defined by different use cases, each of which represents a specific
goal (to obtain the observable result of value) for a particular actor.
You should develop fully dressed use cases. One way of conceptualize correct use
case is by imaging the user interface of all the features of your project. This will help
you to improve your project well in time.

2
Capital University of Science and Technology, Department of Computer
Figure 2.1: Sample Use case Diagram

Use Case1 Title:

Describe the use case (expected behavior of the software) in the form of steps and
sub steps in the format given below. You should also proved a brief description of
user interface that will satisfy the requirement of each use case

2
Capital University of Science and Technology, Department of Computer
Table 2.1: Use Case 1

Use Case ID: [Repeat for multiple use cases]

Use Case
Name:

Created By: Last Updated By:

Date Created: Last Revision


Date:

Actors:

Description:

Trigger:

Preconditions:

Post conditions:

Normal Flow: Actor System

Alternative Flows:

Exceptions:

Add further use cases in the given format

2
Capital University of Science and Technology, Department of Computer
2.5. System Sequence diagrams
Sequence diagrams are created to show the sequence of events among user and the system to
complete an action / use case. A sample is presented in Fig 2.2.

You are required to provide SSD of all the uses cases that you have provided above.

Figure 2.2: System Sequence Diagram

2
Capital University of Science and Technology, Department of Computer
2.6. Domain Model
Part of your initial architectural modeling efforts, particularly for a business application, will
likely include the development of high-level domain model as you see in Fig. 2.3. This
model should be very slim, capturing the main business entities and the relationships
between them. Some people consider this type of model to be

an initial requirements model instead of an initial architecture model

Figure 2.3: Domain Model

3
Capital University of Science and Technology, Department of Computer
Chapter 3

System Design

The purpose of this chapter is to provide information that is complementary to the code.
Without an adequate design that delivers required function as well as quality attributes, the
project will fail. But communicating architecture to its stakeholders is as important a job as
creating it in the first place.

There are two views that are considered while defining software architecture. There are
specific design artifacts that belong to each view. Description of such artifacts is given below.
You may select the artifacts depending on the nature of your project.
● Structural View
o Architecture diagram
o Module structure diagram
o Component diagram
o Class diagram
● Behavioral View
o Sequence diagram
o Activity diagram
o State machine diagram

At a high level, a software architecture document includes:


1. An outline description of the software design, including major software components and
their interactions.
2. A common understanding of requirements, constraints and principles that influence
the architecture.
3. A description of the hardware and software platforms on which the system is built and
deployed.
4. Explicit justification of how the architecture satisfies the above mentioned points.

3
Capital University of Science and Technology, Department of Computer
Design pattern is a description or template for how to solve a problem that can be used in
many different situations. Object-oriented design patterns typically show relationships and
interactions between classes or objects, without specifying the final application classes or
objects that are involved.

It is important that you justify its design, for example, by discussing the implications of
constraints on your solution and different design choices, and then giving reasons for
making the choices you did. At each stage of the design you should mention what
kind of design patters have you followed while designing your system. You should
identify which design pattern among the existing patterns are you following while
designing your project.

3.1. Software Architecture

Software architecture is described as the organization or structure of a system, where the


system represents a collection of components that accomplish a specific function or set of
functions. When getting started with your design, keep in mind the key principles that will
help you to create an architecture that adheres to proven principles, minimizes costs and
maintenance requirements, and promotes usability and extendibility. The major decisions that
you must make, and which help to ensure that you consider all of the important factors as you
begin and then iteratively develop your architecture design are
● Determine the Application Type

● Determine the Deployment Strategy


● Determine the Appropriate Technologies
● Determine the Quality Attributes
● Determine the Crosscutting Concerns

3
Capital University of Science and Technology, Department of Computer
Figure 3.1: Software Architecture Diagram

Fig. 3.1 illustrates common application architecture with components grouped by


different areas of concern. You should think of architecture as the strategy for how
you will build the system. An architectural “layer” is the top-level logical view, or an
abstraction, of your design.

3.2. Class Diagram


Class Diagram as shown in Fig. 3.2 provides an overview of the target system by describing
the objects and classes inside the system and the relationships between them. It provides a
wide variety of usages; from modeling the domain-specific data structure to detailed design
of the target system.

3
Capital University of Science and Technology, Department of Computer
Figure 3.2: Class Diagram

3.3. Sequence Diagram


Sequence diagrams, when used in conjunction with class diagrams; provide an extremely
effective communication mechanism. UML sequence diagrams as shown in Fig. 3.3 are used
to show how objects interact in a given situation.

You can use a class diagram to illustrate the relationships between the classes, and
the sequence diagram lets you show the messages sent among the instances of
these classes and the order in which they are sent. When an object sends a
message to another object, it implies that the two classes have a relationship that
must be shown on a class diagram.

3
Capital University of Science and Technology, Department of Computer
Figure 3.3: Sequence Diagram

3.4. Entity Relationship Diagram


Entity relationship model diagram (ERD) is a conceptual representation of the data in a
software system. During detail design this model is mapped in to the physical database
model. There are different diagramming conventions available for creating ER diagrams. A
sample ERD is shown in Fig. 3.4.

.At this stage you may not be able to provide a comprehensive ERD therefore you may
provide the refined ERD later in design chapter of the document where you will
provide the fully attributed ERD such as primary keys, cardinality constraints etc.

3
Capital University of Science and Technology, Department of Computer
Figure 3.4: Entity Relationship Diagram

3.5. Database Schema

A database schema represents the logical configuration of all or part of a relational database. It
can exist both as a visual representation and as a set of rules known as integrity constraints that
govern a database. These rules are expressed in a data definition language, such as SQL. A
database schema indicates how the entities that make up the database relate to one another,
including tables, views, stored procedures,

3
Capital University of Science and Technology, Department of Computer
and more. A database scheme includes information related to primary and secondary keys,
normalization and indexing.

You may present database scheme using front end tool of any DBMS or any other design tools
such as Visio or Enterprise Architecture. A sample database scheme is shown in Fig. 3.5.

.
Figure 3.5: Database Schema

3.6. User Interface Design


User Interface (UI) Design focuses on anticipating what users might need to do and ensuring
that the interface has elements that are easy to access, understand, and use to facilitate those
actions. UI brings together concepts from interaction design, visual design, and information
architecture.

3
Capital University of Science and Technology, Department of Computer
You should describe the UI design in such a way that it remains simple and
consistent along different views. Common GUI elements are shown in the Fig. 3.6.
You should describe the UI design of each page.

Figure 3.6: Common GUI elements

3
Capital University of Science and Technology, Department of Computer
Example Login Page as shown in Fig. 3.7 will contain one text field and one
password field. Max length of text field is 8 and min is 4 whereas maximum length off
password is 6 and minimum is 3.

Figure 3.7: Example Login Page UI Design with description in text

3.7. Software COTS

If you use COTS (Components Off the Shelf, also named SOUP, Software Of
Unknown Provenance), list them here.

For each COTS, describe:


• Its identification and version
• Its purpose
• Where it comes from: manufacturer, vendor, university …
• Whether it is maintained by a third party or not
• If this is an executable,
o What are the hardware / software resources it uses
o Whether it is insulated in the architecture and why

3
Capital University of Science and Technology, Department of Computer
Chapter 4

Software Development

The Implementation section is similar to the Specification and Design section in that it
describes the system, but it does so at a finer level of detail, down to the code level. This
section is about the realization of the concepts and ideas developed earlier. It can also describe
any problems that may have arisen during implementation and how you dealt with them.

Make sure that the system design corresponds to the implementation of the
project. If there is no relationship between design and implementation, it may
downgrade your score in FYP.

You should also mention any unforeseen problems you encountered when implementing the
system and how and to what extent you overcame them. Common problems are:
● Difficulties involving existing software, because of e.g.,
● Its complexity,
● Lack of documentation;
● Lack of suitable supporting software
● Overambitious project aims.

A seemingly disproportionate amount of project time can be taken up in dealing with such
problems. The Implementation section gives you the opportunity to show where that most of
the effort has been spent.

4.1. Coding Standards


Describe the indention, declaration,naming convention and statement standard used
while coding the project.

4
Capital University of Science and Technology, Department of Computer
4.2. Development Environment

In this section you will provide the reason behind using all the existing tools and technologies
that you may have used during the development of your project. This includes development
environment that you have used. How have you deployed the development environment?
What different kind of packages you have used? Are there any third party libraries involved
etc?

4.3. Software Description

In this section you will identify major modules of the software that you have produced. You
will show the class diagram of these major modules for this section. Typical subheadings of
this section can be

Login process
Loading Data
Data processing
Report generation
…..

Moreover you will also discuss the logic that you have implemented in the code of those
modules with the help of code snippets as shown below in the examples. Do not attempt to
describe all the code in the system, and do not include large pieces of code in this section.
● Are especially critical to the operation of the system.
● You feel might be of particular interest to the reader for some reason
● Illustrate a nonstandard or innovative way of implementing an algorithm, data structure,
etc.

Snippet 1
#define SWAP(type, x, y) \
do { \
type temp;

4
Capital University of Science and Technology, Department of Computer
temp = x;
x = y;
y = temp; \
} while(1)
Description: This function takes 2 arguments. Then we have an infinite loop that swaps
the value of the two passed variables.

You are not allowed to include the complete source code of the software how ever you can
include important functions of your major modules to discuss the logic of your code.

Snippet 2
#define pop(type, Top) \
type temp;
temp = Top.item;
Top = Top.next;
return temp;

Description: This function pops the top of the stack. It places the top pointer to the next item
of the stack and return the popped item..

You are not allowed to include the complete source code of the software how ever you can
include important functions of your major modules to discuss the logic of your code.

4
Capital University of Science and Technology, Department of Computer
Chapter 5

Software Testing

Software Testing is the most crucial part of Software Development Process. It is the
investigation or evaluation of a software component, improving them, and finding bugs and
defects. Testing is usually done by executing a system in such a way that it identifies any
gaps, errors, or missing requirements in contrary to the actual requirements.

5.1. Testing Methodology

It is essential to have a testing plan in place to ensure that the product delivered is robust and
stable, and is delivered on a predictable timeline.

In this section you will discuss the reason of various testing techniques that you have
used to test the software you have created such as integration testing, component
testing and system testing etc.

5.2. Testing Environment

Describe and discuss the reason to use the selected testing environment.

5.3. Test Cases

4
Capital University of Science and Technology, Department of Computer
You should describe how you demonstrated that the system works as intended (or
not, as the case may be). Include comprehensible summaries of the results of all
critical tests that were carried out. You might not have had the time to carry out any
full rigorous tests you may not even got as far as producing a testable system.
However, you should try to indicate how confident you are about whatever you have
produced, and also suggest what tests would be required to gain further confidence

● Test Case 1
● Test case description
● How test case was generated
● Expected result of the test case
● Actual result of the test case

Table 5.1: Test Case 1


Date: 06 June 2017
System: Menu Drive
Objective: View location of delivery boy Test ID:1
Version:1 Test Type: Unit testing
Input:
Longitude=33.7294
Latitude=73.0931
Expected Result:return Islamabad location.
Actual Result: passed

Chapter 6

Software Deployment

4
Capital University of Science and Technology, Department of Computer
6.1. Installation / Deployment Process Description

In this section you have to provide step-by-step guide for the installation of the
software produced with the help of screen shots.

4
Capital University of Science and Technology, Department of Computer
Chapter 7

Project Evaluation

This chapter includes the examiners evaluation report, including the points to be
revised/included along with the selected requirements in the next iteration.

7.1. Project Evaluation Report

Examiner Name:
S. No. Suggestion
1 Entity relation should be labeled.
2 Sequence diagram should be split.
3 English sentence structure should be improved.
4 Formatting should be improved.
5 Naming conventions are not followed in code artifacts.
6 Indention rules are not followed as described in chapter 4
7 Test cases for the incorrectbehavior to be included.
8 Test cases should be added to test remaining functionalities.

Other Comments (If any):

Signature

4
Capital University of Science and Technology, Department of Computer
● References
All the documents, papers, articles and WebPages that you have taken help from must be cited in
the references section

Book
Author(s), Book Title. Place of publication: Publisher, year, volume, page number(s).

Example: [1] W.K. Chen, Linear Networks and Systems. Belmont, CA: Wadsworth, 1993, pp. 123- 35.

Webpage
Author(s) and/or organization, date of publish or date the page was last updated, title of web page
document, website address that provides a direct link to the document, and the date you last accessed the
document

Example: Winston, J 1999, A look at referencing, AAA Educational Services, accessed 20 October
2015, <http://www.aaa.edu.au/aaa.html>. United Nations Web Services 2006,

Research Paper
Author(s), "Article title, Journal Title, vol., no., page number(s), Month year.

Example: [2] G. Pevere, "Infrared Nation, International Journal of Infrared Design, vol. 33, pp. 56- 99,
Jan. 1979.

If you need to reference any item that is not the the list, you should consult IEEE citation format
available at the following link http://library.queensu.ca/book/export/html/5846

4
Capital University of Science and Technology, Department of Computer
Appendix
User Manual of the software

4
Capital University of Science and Technology, Department of Computer

You might also like