SRS document in MS office
Online CV Maker (OCM)
Software Requirements Specification Document
Version 1.0
Group Id:
S-B
Supervisor Name: Haseeb
Akmal
Revision History
Date
(dd/mm/yyyy-
Version
1.0
Description
Online CV Maker will be an
android app that will help
users to build their CV or
Resume through smart
phone. The app will take
user personal data and
convert into CV which can
be exported in PDF format
as well as can be shared on
Email and user’s Facebook
account.
Author
Table of Contents
1. Scope (of the project)
2. Functional Requirements Non Functional requirements
3. Use Case Diagram
4. Usage Scenarios
5. Adopted Methodology
6. Work Plan
SRS Document
Scope of Project:
Now a day world is changing form its older set point every organization requires CV prior to hiring their
employees. There is no thumb rules or guidelines for a person who want to make CV. And many peoples have
not computer nor experience of MS world. He/she goes to a professional who creates CV and charge costly.
when CV person need to modify his detail, he pays again. Now trend is changing, we are trying to make a such
application which runs on android devices (phone or tablet). Generates attractive CV getting some user data.
Online CV maker is android based mobile application. The application takes and store user personal data
including his/her name, father name, address, email address, cell number, profile picture etc. User of that
application able to input objective, user’s professional experience, academic qualifications, skills, certifications,
publications, test scores, volunteer experiences, memberships, projects and honor & awards, interests, hobbies,
languages etc. After inputting required data the app generates the attractive CV for getting employments. The
App can save his/her CV, share on Facebook , send as Email or export as Pdf.
Functional and non-Functional Requirements:
Functional Requirements:
Following are the functional requirements:
1. The application should be able to take and store user personal data including his/her
name, father name, address, email address, cell number, profile picture etc.
2. The application should be able to input objective, user’s professional experience,
academic qualifications, skills, certifications, publications, test scores, volunteer
experiences, memberships, projects and honor & awards, interests, hobbies, languages
etc.
3. The application should be able to export C.V in PDF format.
4. The application should be able to share C.V at Facebook.
5. The application should be able to send C.V through email.
Non-Functional Requirements:
Operating System: Android 4.1+
Interface: - Interface should be user friendly and easy to learn and navigate. It should provide simple
environment.
Efficiency: - System should be efficient it should do work in minimum processing time. The system
should be able to reduce the processing time and delay between transaction and response.
Security: - Security is the main issue. System should be safe and ensure the security. It will ensure
secure transfer of data.
Reliability: - System should be reliable enough to satisfactorily the performance.
Maintainability: - System should be easily maintainable. It should be flexible enough to stand with
change and exceptions. The system should also handle new requirements. It should have capability to
maintain in new environment.
Use Case Diagram(s):
Sign in
Register
Sign out
Creat New
Update
<>
Edit
<>
View
User
Delete
Export As PDF
Send as Email
Share on Facebook
Usage Scenarios:
Note:
To run that application internet connection is mandatory. The app not works without internet.
That is the pre-condition for all use cases.
Use case ID: UC01
Use Case Title
Register
Use Case ID
UC01
Description: This use case enables the user to register in Application prior to make CV
Alternative Paths: None
Pre-Conditions:
App correctly working.
Task Sequence
1. Open app
2. Tap / click on register Button.
3. Enter all data required by registration form and putt password.
4. Tap on Submit Button.
Post Conditions: User successfully registered.
Exceptions: Some mandatory fields are empty or wrong entered.
Authority: User
Author: BC-
Use case ID: UC02
Use Case Title
login
Use Case ID
UC02
Description: This use case enables the user to login in application panel.
Alternative Paths: None
Pre-Conditions:
App correctly working
And user already registered.
Task Sequence
1. Open app
2. Tap / click on login Button.
3. Enter user name and password.
4. Tap on login Button.
Post Conditions: User successfully creates CV
Exceptions:
User name or password are wrong.
internet connection failed.
Authority: User
Author: BC-
Use case ID: UC03
Use Case Title
Log out
Use Case ID
UC03
Description: This use case enables the user to logout from application panel.
Alternative Paths: None
Pre-Conditions:
App correctly working.
User already log in.
Task Sequence
1. Open app
2. Tap / click on Create Button.
3. Enter all data required by CV like,Name,DOB,Skills,Photo etc.
4. Tap on Create Button.
Post Conditions: User successfully creates CV
Exceptions: Some mandatory fields are empty or wrong entered.
Authority: User
Author: BC-
Use case ID: UC04
Use Case Title
Create
Use Case ID
UC04
Description: This use case enables the user create their CV by entering required data.
Alternative Paths: None
Pre-Conditions:
App correctly working.
Task Sequence
5. Open app
6. Tap / click on Create Button.
7. Enter all data required by CV like,Name,DOB,Skills,Photo etc.
8. Tap on Create Button.
Post Conditions: User successfully creates CV.
Exceptions:
Some mandatory fields are empty or wrong entered.
Internet connection failed.
Authority: User
Author: BC-
Use case ID: UC05
Use Case Title
Update
Use Case ID
UC05
Description: This use case enables the user to edit or delete some entered information
previously created CV.
Alternative Paths: None
Pre-Conditions: User must be created CV already.
Task Sequence
1. User tap on Update Button
2. Select field which is required to edit or delete.
3. Input Data or Tap on Delete.
4. Tap on Save Button.
Post Conditions: User successfully Updated CV.
Exceptions: Duplicate name, mandatory field are deleted or empty or wrong entered
Authority: User
Author: BC-
Use case ID: UC06
Use Case Title
View
Use Case ID
UC06
Description: This use case enables the user to display of CV
Alternative Paths: None
Pre-Conditions: Already CV must be created.
Task Sequence
1. User tap on View.
2. User tap on exit view.
Post Conditions: User successfully display CV.
Exceptions: CV not found. (CV would be created already to View.
Authority: User
Author: Bc-
Use case ID: UC07
Use Case Title
Export as PDF
Use Case ID
UC07
Description: This use case enables the user to Export CV as PDF.
Alternative Paths: None
Pre-Conditions: 1. CV must be created already.
Task Sequence
1. User tap on Export as PDF.
2. Enter the Name of File.
3. Select the location file to export.
4. Tap on Export Button.
Post Conditions: User successfully Exported as PDF.
Exceptions: File name field empty.
Authority: User
Author: BC-
Use case ID: UC08
Use Case Title
Send as Email
Use Case ID
UC08
Description: This use case enables the user to send CV as Email.
Alternative Paths: None
Pre-Conditions:
1.CV must be created already.
2.Device must have internet connection.
3. User must have already Email Account.
Task Sequence
1. User tap on send as Email.
2. Enter the user Email Address.
3. Enter receiver Email address.
4. Tap on send Button.
Post Conditions: User successfully sent CV as Email.
Exceptions: Email fields are empty or incorrect.
Authority: User
Author: BC-
Use case ID: UC09
Use Case Title
Share on Facebook
Use Case ID
UC09
Description: This use case enables the user to share CV on Facebook.
Alternative Paths: None
Pre-Conditions:
1.CV must be created already.
2.Device must have internet connection.
3. User must have already Facebook Account.
Task Sequence
1. User tap on share on Facebook.
2. Enter the Facebook ID and password.
3. Tap on send Button.
Post Conditions: User successfully shared CV on Facebook.
Exceptions:
1. Facebook ID or password incorrect.
Internet connection error.
Authority: User
Author: BC-
Available Methodologies
In software development lifecycle methodology describes the flow and procedure to develop the software in an
efficient way. There are different methodologies are used in software development. Each method has his
specific pros and cons. Sometimes we cannot able to get desire results from a single method so we have to
choose combination of more than one existing methods.
Available Methodologies (Discussed in CS605 Software Engineering II)
Available Methodologies are given below;
1. Waterfall Model
2. Rapid Prototyping Model
3. Incremental Model
4. Rapid Application Development(RAD)
5. Synchronize and Stabilize Model
6. Spiral Model
7. Object Oriented Life Cycle Model
i.
extreme Programming Model
ii.
Fountain Model
Waterfall Model
The first published model of the software development process was derived from other engineering processes.
Because of the cascade from one phase to another, this model is known as the waterfall model.
It is document driven model. This model is also known as linear sequential model. This model is depicted in the
following diagram.
The principal stages of the model map directly onto fundamental development activities.
In the literature, people have identified from 5 to 8 stages of software development.
But usually there are five stages which are as follows:
1. Requirement Analysis and Definition: What - The systems services, constraints and goals are established
by consultation with system users. They are then defined in detail and serve as a system specification.
2. System and Software Design: How – The system design process partitions the requirements to either
hardware of software systems. It establishes and overall system architecture. Software design involves
fundamental system abstractions and their relationships.
3. Implementation and Unit Testing: - How – During this stage the software design is realized as a set of
programs or program units. Unit testing involves verifying that each unit meets its specifications.
4. Integration and system testing: The individual program unit or programs are integrated and tested as a
complete system to ensure that the software requirements have been met. After testing, the software
system is delivered to the customer.
5. Operation and Maintenance: Normally this is the longest phase of the software life cycle. The system is
installed and put into practical use. Maintenance involves correcting errors which were not discovered in
earlier stages of the life-cycle, improving the implementation of system units and enhancing the
system’s services as new requirements are discovered.
Actual water fall model is modified due to the element of iteration and feedback and to enhance the efficiency
and progress too. Modified Waterfall Model is shown below;
The Waterfall Model is a documentation-driven model. It therefore generates complete and comprehensive
documentation and hence makes the maintenance task much easier. It however suffers from the fact that the
client feedback is received when the product is finally delivered and hence any errors in the requirement
specification are not discovered until the product is sent to the client after completion. This therefore has major
time and cost related consequences
Rapid Prototyping Model
The Rapid Prototyping Model is used to overcome issues related to understanding and capturing of user
requirements. In this model a mock-up application is created “rapidly” to solicit feedback from the user. Once
the user requirements are captured in the prototype to the satisfaction of the user, a proper requirement
specification document is developed and the product is developed from scratch.
An essential aspect of rapid prototype is embedded in the word “rapid”. The developer should endeavor to
construct the prototype as quickly as possible to speedup the software development process. It must always be
kept in mind that the sole purpose of the rapid prototype is to capture the client’s needs; once this has been
determined, the rapid prototype is effectively discarded. For this reason, the internal structure of the rapid
prototype is not relevant.
Incremental Models
As discussed above, the major drawbacks of the waterfall model are due to the fact that the entire product is
developed and delivered to the client in one package. This results in delayed feedback from the client. Because
of the long elapsed time, a huge new investment of time and money may be required to fix any errors of
omission or commission or to accommodate any new requirements cropping up during this period. This may
render the product as unusable. Incremental model may be used to overcome these issues.
In the incremental models, as opposed to the waterfall model, the product is partitioned into smaller pieces
which are then built and delivered to the client in increments at regular intervals. Since each piece is much
smaller than the whole, it can be built and sent to the client quickly. This results in quick feedback from the
client and any requirement related errors or changes can be incorporated at a much lesser cost. It is therefore
less traumatic as compared to the waterfall model. It also required smaller capital outlay and yield a rapid return
on investment. However, this model needs and open architecture to allow integration of subsequent builds to
yield the bigger product. A number of variations are used in object-oriented life cycle models.
Rapid Application Development (RAD)
Rapid application development is another form of incremental model. It is a high-speed adaptation of the linear
sequential model in which fully functional system in a very short time (2-3 months). This model is only
applicable in the projects where requirements are well understood and project scope is constrained. Because of
this reason it is used primarily for information systems.
Synchronize and Stabilize Model
This is yet another form of incremental model adopted by Microsoft. In this model, during the requirements
analysis interviews of potential customers are conducted and requirements document is developed. Once these
requirements have been captured, specifications are drawn up. The project is then divided into 3 or 4 builds.
Each build is carried out by small teams working in parallel. At the end of each day the code is synchronized
(test and debug) and at the end of the build it is stabilized by freezing the build and removing any remaining
defects. Because of the synchronizations, components always work together. The presence of an executable
provides early insights into operation of product.
Spiral Model
This model was developed by Barry Boehm. The main idea of this model is to avert risk as there is always an
element of risk in development of software. For example, key personnel may resign at a critical juncture, the
manufacturer of the software development may go bankrupt, etc.
In its simplified form, the Spiral Model is Waterfall model plus risk analysis. In this case each stage is preceded
by identification of alternatives and risk analysis and is then followed by evaluation and planning for the next
phase. If risks cannot be resolved, project is immediately terminated. This is depicted in the following diagram
Risk Analysis
Rapid Prototype
Specification
Design
Verify
Implementation
As can be seen, a Spiral Model has two dimensions. Radial dimension represents the cumulative cost to date
and the angular dimension represents the progress through the spiral. Each phase begins by determining
objectives of that phase and at each phase a new process model may be followed.
A full version of the Spiral Model is shown below:
The main strength of the Spiral Model comes from the fact that it is very sensitive to the risk. Because of the
spiral nature of development, it is easy to judge how much to test and there is no distinction between
development and maintenance. It however can only be used for large-scale software development and that too
for internal (in-house) software only.
Determine
objectives,
alternatives,
constraints
Plan Next
Phase
Identify and
resolve risks
Develop
and verify
next-level
product
Object-Oriented Lifecycle Models
Object-oriented lifecycle models appreciate the need for iteration within and between phases. There are a
number of these models. All of these models incorporate some form of iteration, parallelism, and incremental
development.
Extreme Programming
It is a somewhat controversial new approach. In this approach user requirements are captured through stories
which are the scenarios presenting the features needed by the client? Estimate for duration and cost of each
story is then carried out. Stories for the next build are selected. Then each build is divided into tasks. Test cases
for task are drawn up first before and development and continuous testing is performed throughout the
development process.
Architectural spike
User stories
Release Planning
Iteration
Spike
Acceptance test
Small release
One very important feature of extreme programming is the concept of pair programming. In this, a team of two
developers develop the software, working in team as a pair to the extent that they even share a single computer.
In extreme Programming model, computers are put in center of large room lined with cubicles and client
representative is always present. One very important restriction imposed in the model is that no team is allowed
to work overtime for 2 successive weeks.
XP has had some successes. It is good when requirements are vague or changing and the overall scope of the
project is limited. It is however too soon to evaluate XP.
Fountain Model
Fountain model is another object-oriented lifecycle model. This is depicted in the following diagram.
In this model the circles representing the various phases overlap, explicitly representing an overlap between
activities. The arrows within a phase represent iteration within the phase. The maintenance cycle is smaller, to
symbolize reduced maintenance effort when the object-oriented paradigm is used.
Adopted Methodology
Methodology:
Developing the project “Online CV Maker (OCM)” system is different than other systems. I have selected
Modified VU Process Model, because this model fulfills our software development requirements.it has five
modules and these include collecting and analyzing requirement, planning, analysis and design, development
and final report.in requirement module system goals, services and constraints are established after discussion
with user. the planning module is synchronized effort to find all the potential roadblocks and draft a robust plan
to tackle each. Our adopted methodology is “VU Process Model”. It is the combination of water fall model and
spiral model. It has the merits of both models and it will make our product documented driven, less risky more
maintainable, more flexible, reusable and more efficient. User interaction would also be done in this model
make our product more comprehensive and user friendly.
VU Process Model
For making our software system we have a tendency to adopted VU method Model that could be a combination
of water fall and spiral models. the concept behind this model is that to urge the advantages of each these
models. basically, Water Fall Model could be a framework for software system development during which
development payoff consecutive through a series of phases, beginning with system necessities analysis and
leading up to product unharness and maintenance, whereas the key characteristics of spiral model is risk
management at regular stages within the entire software system development cycle. In VU method Model we
are going to be operating in phases to finish our given project. a number of the phases are described below:
Requirement Analysis & Definition:
All attainable requirements of the system to be developed are captured during this part. we are going to outline
the practical, non-practical requirements during this part. These requirements are analyzed for his or her validity
and therefore the risk of incorporating the wants within the system to be development is additionally studied.
Finally, a demand Specification document is made that serves the aim of guideline for the subsequent part of the
model, within which we tend to outline the utilization cases for our system and their situations here too.
Risk analysis & Work Plan:
In this part we are going to be shaping time line during which this project should to be completed, the value
which can be allotted for our project and every one the essential coming up with activities are going to be wiped
out this part. All possible risks related to the project are known and analyzed here. The aim is that everyone
risks are resolved.
System Design
In this section we are going to perceive what we have a tendency to are going to produce and what it should
to look like? the need specifications from initial phase are going to be studied during this phase and
system style will be ready. System style helps in specifying hardware and
system requirements and additionally helps in process overall system design. we are going to be process all the
aspects of style of system. we are going to work on the design of the system, the interior and external entities,
their relations among one another and to the others, etc. once finishing the essential style section we are going
to build our system here
Implementation
This step consists of really constructing the product as per the planning specification(s) developed within
the previous step. Typically, this step is performed by a development team consisting of programmers, interface
designers and different specialists, using tools like compilers, debuggers, interpreters and media editors. The
output of this step is one or additional product parts, designed in step with a pre-defined coding standard and
debugged, tested and integrated to satisfy the system design needs.
Verification/Testing
In this section we will verify and check our system. we are going to perform totally different kind of testing here and if got
some drawback, we are going to solve that out. There are largely 3 steps of testing
i) unit testing
ii) system testing
iii) acceptance testing
This is additionally the stage at which product documentation, like a user manual, is ready, reviewed and revealed
Vu process model has four phases which further divides the waterfall processes. These processes are in iteration
until system meets to client requirement.
Reasons for Chosen Methodology
There are number of reasons to choose the “VU Process Model”. The core reasons are given below;
It Provides a Systematic and disciplined approach.
It is fully documents driven approach.
The focal intent of this model is to focus on the user & business requirements and analysis of the
risk at each step.
Performance and skills of the worker proceed to success.
Reliable to verify the risk at each step.
Fulfill the user needs.
Increase the probability of correctness.
By using spiral model, the methodology becomes very sensitive to the risk.
Slickly find the user requirement & give them result more efficiently.
Easily divide product in different steps by using sequential model
It is very reliable to understand the way of process.
The maintainability would be increased by adopting this model.
Make our product efficient more maintainable and flexible.
Work Plan