Professional Documents
Culture Documents
mentioned underneath
03/04/2022
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
Cover Page
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
Group Members:
DD/MM/YYYY
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
Discriminations
We hereby declare that our project in titled <your title here> is original and not
submitted/Published by any individual/ Organization.
Group members
S.N. Name List ID Number date ----/----/2022 sign:
1.
2.
3.
4.
Advisor’s
Name: Date: ---------/----/2022 Sign:
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
Acknowledgement
This is optional, although most reports include a brief statement of thanks in recognition of special
assistance and guidance given by individuals, institutions or government bodies.
03/04/2022
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
Table of contents
The titles of sections, chapters and their principal subdivisions along with the page numbers on
which they appear should be listed in the Table of Contents. Titles should be worded exactly as
they appear in the text of the report. Reports with many subdivisions should use a hierarchical
numbering system for headings and sub-headings (e.g., 3.1). Such a numbering system combined
with the judicious use of upper and lower case, indentations and italics should provide a summary
of the relationships between the sections of the report. The table of contents should be generated
automatically. The following is a recommended content structure.
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
Table of Contents
Acknowledgement .......................................................................................................................... 5
Table of contents ............................................................................................................................. 6
Lists of Tables, Figures/Illustrations, Plates/Photographs ............................................................ 11
List of Abbreviations, Symbols, Specialized Nomenclature ........................................................ 12
Abstract ......................................................................................................................................... 13
Chapter One: Introduction ............................................................................................................ 14
1.1 Introduction ............................................................................................................................. 14
1.1.1 Background of the organization ..................................................................................... 14
1.1.2 Existing System of the project ....................................................................................... 14
1.1.3 Statement of the problem ............................................................................................... 14
1.1.4 Proposed System ............................................................................................................ 14
1.2 Objective ................................................................................................................................. 15
1.2.1 General Objectives ......................................................................................................... 15
1.2.2 Specific Objectives ......................................................................................................... 15
1.3 Scope and limitation of the project ......................................................................................... 15
1.3.1 Scope .............................................................................................................................. 15
1.3.2 Limitations ..................................................................................................................... 15
1.4 Methodology for the project ................................................................................................... 15
1.4.1 Data collection and fact-finding techniques ................................................................... 15
1.4.2 System analysis and design approach ............................................................................ 16
1.4.3 Technology requirements ............................................................................................... 16
1.5 Feasibility Study ..................................................................................................................... 16
1.5.1 Technical Feasibility ...................................................................................................... 16
1.5.2 Operational Feasibility ................................................................................................... 16
1.5.3 Economic Feasibility ...................................................................................................... 16
1.5.4 Legal Feasibility ............................................................................................................. 16
1.5.5 Political Feasibility......................................................................................................... 16
1.6 Risk assessment strategy ......................................................................................................... 16
1.7 Significance of the project ...................................................................................................... 16
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
These lists consist of the exact titles (including numbering) of all tables, figures and plates that
appear in the report. All tables, figures and plates should be numbered consecutively throughout
the text.
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
This list is optional, depending on the subject of the report. All scientific symbols and
nomenclature should follow the standard SI-system.
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
Abstract
An abstract in both Amharic and English are required. The English version must include the title
written in English for a report written in Amharic, and vice versa. The abstract is a summary of
the entire report. It should briefly outline the research problems addressed by the report, the
findings, and the significance of the work in the context of the field of study. The abstract should
not exceed one typewritten single-spaced page of text (c. 300-400 words) with the font size of 12
points. Abstracts in English should be in italic.
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
1.2 Objective
1.2.1 General Objectives
The general objective is the overall objective while properly developed and deployed the
project.
1.2.2 Specific Objectives
Under this section, students must list the questions to be answered by the project in parallel to the
already stated problems. In fact, here students must solve the entire aforementioned problem in the
statement of the problems with the proposed solutions. Since stated problems are counted, the
specific objectives are also counted and formatted in a form to be check listed.
1.3 Scope and limitation of the project
1.3.1 Scope
The scope of the project precisely states the mandate areas where the project is deployed, the
system requirements satisfied under this project or not to be covered. Please states the boundary
of the project. in what level you will address the projects domain.
1.3.2 Limitations
The limitation is all about the underdevelopment systems compatibility, portability,
maintainability and other related limitations as viewed from users and technological perspectives.
The system functionality that you didn't address in this version of project due to constraints is said
to be Limitation. do not mix limitation with
1.4 Methodology for the project
The project methodology entails, the software and hardware tools used in realizing the proposed
project and the rationales behind each selection. It also required mentioning the project
development approaches, paradigms in detail reasoning to help fact-finding techniques.
1.4.1 Data collection and fact-finding techniques
In this section member of the project explains the extent source of data for the proposed project. It
also illustrates the requirement elicitation approaches through which method of data collection
they can found the exact data /Source of Information including the type of Information source
either from primarily, secondary and from others.
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
3
3.1
2
2.1
2.1.1 Scope
Show the exact part of project planning that involves determining and documenting a list of
specific project goals, deliverables, tasks, cost and deadlines. The Project Scope pertains to the
work necessary to deliver a product
2.1.2 Purpose
Identify the product whose software requirements are specified in this document, including the
revision or release number. Describe the scope of the product that is covered by this SRS,
particularly if this SRS describes only part of the system or a single subsystem
It is where you state the purpose of the project in line with the requirements specification.
2.1.3 Document Convention
Describe any standards or typographical conventions that were followed when writing the SRS,
such as fonts or highlighting that have special significance. For example, state whether priorities
for higher-level requirements are assumed to be inherited by detailed requirements, or whether
every requirement statement is to have its own priority. Use your report convention
Chapter One
Sub Title font size /heading 2 e.g 14pt
1.1Introduction
Sub Title font size /heading 3 e.g 12pt
1.1.1 Introduction
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
interfaces between the two. A simple diagram that shows the major components of the overall
system, subsystem interconnections, and external interfaces can be helpful.>2.2.2. Product
Features/Functions
List out and elaborate the required functional requirements from the users’ perspectives.
2.2.2 User characteristics
Identify the various user classes that you anticipate will use this product. User classes may be
differentiated based on frequency of use, subset of product functions used, technical expertise,
security or privilege levels, educational level, or experience. Describe the pertinent characteristics
of each user class. Certain requirements may pertain only to certain user classes. Distinguish the
most important user classes for this product from those who are less important to satisfy.
A model captures aspects important for some application while omitting (or abstracting) the rest.
A model in the context of software development can be graphical, textual, mathematical, or
program code-based. Models are very useful in documenting the design and analysis results.
Models also facilitate the analysis and design procedures themselves. Graphical models are very
popular because they are easy to understand and construct.
Rationales behind need for a model: An important reason behind constructing a model is that it
helps manage complexity. Once models of a system have been constructed, these can be used for
a variety of purposes during software development, including Analysis, Specification, Code
generation, Design, Visualize and understand the problem and the working of a system and
Testing,
3.2System use case Diagram
You have to describe the functionality provided by a system in terms of actors, their goals
represented as use cases, and any dependencies among those use cases. Here you have also
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
elaborate the use case descriptions as represented in the system use case diagram without
compromising their dependencies and their definiteness.
3.2.1 Scenario
Describes the situation in which a limited consideration for each and suggested requirements are
failed to meet customers’ or systems requirements. So as consider alternative approaches, a list of
possibly considered situations are predetermined with a list of possible solutions.
3.2.2 Use case Model
The use case model for any system consists of a set of “use cases”. Intuitively, use cases
represent the different ways in which a system can be used by the users. A simple way to find all
the use cases of a system is to ask the question: “What the users can do using the system?”
3.2.3 Use case Description
Each ellipse on the use case diagram should be accompanied by a text description. The text
description should define the details of the interaction between the user and the computer and
other aspects of the use case. It should include all the behavior associated with the use case in
terms of the mainline sequence, different variations to the normal behavior, the system responses
associated with the use case, the exceptional conditions that may occur in the behavior, etc. The
behavior description is often written in a conversational style describing the interactions between
the actor and the system. The text description may be informal, but some structuring is
recommended.
3.4Activity Diagrams
Visually presents a series of actions or flow of control in a system similar to a flowchart or a data
flow diagram. Activity diagrams are often used in business process modeling. They can also
describe the steps in a use case diagram. Activities modeled can be sequential and concurrent.
The design is concerned with presenting the design of the artifact developed and justifying how it
should meet the identified requirements. It is likely to consist of three parts:
1. How and why the design has been carried out the approach and notation used, etc.;
●The design model provides detail about the software data structures, architecture, interfaces, and
components
● The design model can be assessed for quality and be improved before code is generated and
tests are conducted.
Software design is a process to transform user requirements into some suitable form, which
helps the programmer in software coding and implementation.
Architectural Design: The architectural design is the highest abstract version of the
system. It identifies the software as a system with many components interacting with each other.
At this level, the designers get the idea of proposed solution domain.
High-level Design: The high-level design breaks the ‘single entity-multiple component’
concept of architectural design into less-abstracted view of sub-systems and modules and
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
depicts their interaction with each other. High-level design focuses on how the system
along with all of its components can be implemented in forms of modules. It recognizes modular
structure of each sub-system and their relation and interaction among each other.
Detailed Design: Detailed design deals with the implementation part of what is seen as a
system and its sub-systems in the previous two designs. It is more detailed towards modules and
their implementations. It defines logical structure of each module and their interfaces to
communicate with other modules.
Software design is a process to transform user requirements into some suitable form, which
helps the programmer in software coding and implementation. It describes how well designed the
proposed system without compromising the end users’ requirements, the potential legal,
economical, operational feasibilities and other design parameters. More specifically, the cohesion
and coupling balancing principles are compulsory towards improved software development.
Having the above in mind, your design must encompasses: I) Avoid ‘tunnel vision, II)Be traceable
back to analysis, III)Not reinvent the wheel, “Minimize the intellectual distance” between the
problem and the solution, IV)Exhibit uniformity and integration (look like the work of a single
designer), V)Accommodate change , VI)Degrade gently, VII)Be assessed for quality as it is being
created, not after the fact, VIII)Not miss the forest (not focus too much on minutiae), IX)
Recognize that design is not coding, coding is not design
Many times debugging requires a thorough understanding of the program design. Trying to
debug based on a partial understanding of the system design and implementation may require an
inordinate amount of effort to be put into debugging even simple problems.
Debugging may sometimes even require full redesign of the system. In such cases, a common
mistake that novice programmers often make is attempting not to fix the error
but its symptoms.
One must be beware of the possibility that an error correction may introduce new errors.
Therefore, after every round of error-fixing, regression testing must be carried out.
4.1.1.1 Performance
Data management takes into account the system requirements concerning performance and space.
From an understanding of the data requirements and constraints, one lays out a design for the
objects and their operations. You have to realize by:
Identify the data, data structures, and relationships among them
Design services to manage the data structures and relationships
Find tools, such as database management systems, to implement some of the data
management tasks
Design classes and class hierarchies to oversee the data management functions
4.1.1.2 Dependability
It is desirable that programs can be developed in the language as a collection of separately
compiled modules, with appropriate mechanisms for ensuring self-consistency between these
modules. In contrast to associations are structural relationships, dependencies are non-structural
relationships. In order for objects to “know each other”, they must be visible. These is associated
with Framework, Third Party Libraries, Database, File System, Web Services, System Resources
(Clock), Configuration, The new Keyword, Static methods….
4.1.1.3 Maintenance
Becoming an important activity of a large number of software organizations. This is not surprise,
given the rate of hardware obsolescence, the immortality of a software product per users, and the
demand of the user community to see the existing software products run on newer platforms, run
in newer environments, and/or with enhanced features. When the hardware platform is changed,
and a software product performs some low-level functions, maintenance is necessary. In addition,
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
whenever the support environment of a software product changes, the software product requires
rework to cope up with the newer interface.
4.2 Proposed system architecture
Describes the skeleton that showing all abstractions and dependencies within the entire system in
a form elegant, standardized, and expressive towards a specified organizational goal. Furthermore,
it includes improved features as per the prescribed software requirements specifications.
4.2.1 System process
Includes all activities, which help the transformation of requirement specification into
implementation. Requirement specifications specify all functional and non-functional expectations
from the software. These requirement specifications come in the shape of human readable and
understandable documents, to which a computer has nothing to do.
4.2.2 Subsystem decomposition
Breakdown all embedded subsystems and rationales behind their emerging in relation to a standard
system design guideline. Just a “cross between” a package and a class and realizes one or more
interfaces which define its behavior.
4.2.3 Hardware / software mapping
“Clients should not be forced to depend on methods that they do not use.” [R. Martin]. When we
bundle functions for different clients into one interface/class, we create unnecessary coupling
among the clients. When one client causes the interface to change, all other clients are forced to
recompile. So that, your System is by far better while designed considering the existing and
upcoming hardware apparatuses. In addition, the Interface Segregation Principle states that
Clients should not be forced to depend on methods they do not use.
4.2.4 Persistent data management
Describes consistency reservation elements incorporated/used to ensure persistency of your project
in situations where internal/external factors required challenging. So as to come up with
persistency of used data and generated data, alternative backup and recovery techniques,
technologies suggested/planned must be mentioned here.
4.3 Design Control
The design process must be properly controlled, this includes controlling coding also. This
requirement means that a good configuration control system must be in place.
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
Error checking: Being human, a programmer is likely to make many mistakes in the
development of a computer program. Many high-level languages enforce a great deal of error
checking both at compile-time and at run-time.
Cost: The ultimate cost of a programming language is a function of many of its
characteristics.
Familiar notation: A language should have familiar notation, so it can be understood by
most of the programmers.
Quick translation: It should admit quick translation.
Efficiency: It should permit the generation of efficient object code.
Modularity: It is desirable that programs can be developed in the language as a
collection of separately compiled modules, with appropriate mechanisms for ensuring self-
consistency between these modules.
Widely available: Language should be widely available and it should be possible to
provide translators for all the major machines and for all the major operating systems.
5.3 Software Documentation
When various kinds of software products are developed then not only the executable files and the
source code are developed but also various kinds of documents such as users’ manual, software
requirements specification (SRS) documents, design documents, test documents, installation
manual, etc are also developed as part of any software engineering process. All these documents
are a vital part of good software development practice. Your documentation must prepare as of
internal documentation and External documentation.
5.4 Algorithm and special code
Put only algorithms, or mercy codes that you solve the problems in your projects. No need to
present ordinary codes instead selective algorithm is required. If those code are a many more, you
can present under Appendix sections at end.
5.5 System Screenshot (only important one)
Put some screenshot that your project solves. So no need to screenshot of ordinary webpages rather
only selective pages to be presented here.
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
6.1.2 Scope
Clarify the point to be covered while testing and make sure to ensure effective testing over
exhaustive testing. Keep in mind that, the testing tool used must be mentioned and rationalized
from different perspectives.
6.1.3 Design Test cases
Exhaustive testing of almost any non-trivial system is impractical due to the fact that the domain
of input data values to most practical software systems is either extremely large or infinite.
Therefore, we must design an optional test suite that is of reasonable size and can uncover as
many errors existing in the system as possible. Actually, if test cases are selected randomly,
many of these randomly selected test cases do not contribute to the significance of the test suite,
i.e. they do not detect any additional defects not already being detected by other test cases in the
suite. Thus, the number of random test cases in a test suite is, in general, not an indication of the
effectiveness of the testing. In other words, testing a system using a large collection of test cases
that are selected at random does not guarantee that all (or even most) of the errors in the system
will be uncovered.
6.2 Program Analysis Tools
A program analysis tool means an automated tool that takes the source code or the executable
code of a program as input and produces reports regarding several important characteristics of
the program, such as its size, complexity, adequacy of commenting, adherence to programming
standards, etc. This can be realized and classify these into two broad categories of program analysis
tools: Static Analysis tools and Dynamic Analysis tools
6.2.1 Load Performance Testing
Load Performance testing is carried out to check whether the system needs the non-functional
requirements identified in the SRS document. There are several types of performance testing.
Among of them nine types are discussed below. The types of performance testing to be carried
out on a system depend on the different non-functional requirements of the system documented in
the SRS document. All load performance tests can be considered as black-box tests including
Stress testing, Volume testing, Configuration testing, Compatibility testing, Regression testing,
Recovery testing, Maintenance testing, Documentation testing and Usability testing
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
7.1 Conclusions
This chapter should present conclusions about the investigation and outline further work. This
chapter should not be left until the end of the project period. Valuable ideas should be collected
throughout the project and added to a chapter outline. The chapter should re-outline what has been
done in the investigation, and been shown in the report. The lessons learned from the overall
investigation should be presented with appropriate examples.
The evaluation together with new ideas should naturally lead to further work that would “improve”
the work in some sense. The further work section should be substantial in that this is an important
part of a scientific investigation. Often the depth of further work is a good indication of how well
aware the student is of the topic of investigation.
7.2 Recommendation
Recommendations are arguably the most important part of the analysis phase—this is where you'll
suggest specific interventions or strategies to address the issues and constraints identified in the
assessment.
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
References
Any report, which makes use of other works, either in direct quotation or by reference, must contain
references listing all of these sources. Only works directly cited or quoted in the text should be
included in the references and properly cited.
Appendix A: Special information collected from
Appendix B: Algorithms
….
Appendix D: other
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
Appendices
This section is optional and will depend on the individual report content. It contains supplementary
illustrative material, original data, and quotations too long for inclusion and not immediately
essential to an understanding of the subject. This section may be divided into sections as
Appendices A, B, C, etc. Any figures or tables included in the appendix should be numbered and
captioned as for all text tables and figures.
Note: Keep In mind that, you have to state everything inline to your project asides to the definitions
mentioned underneath
Note:
The internal organization of the report is the responsibility of the Candidate in consultation with
his/her supervisor(s). The organization will partly depend on the field of study, but the
responsibility is on the student to provide a systematic and well-organized report. Overall, the font
of the main text should be specified on the guideline. In addition, candidate should put a header
for each page, which is the title of the chapter concerned.