There is no elevator to success. You have to take the stairs. Take your first steps with SSWT!

CS619 Final Project Phase 1 Gathering and Analysis Requirements | How to make SRS? | System Requirements Specifications (SRS)

 Dear Students!

In this post you will learn How to make SRS document? for your final project CS619. As we know that the students of BSCS/BSSE/BSIT in 7th/8th Semester and MIT/MSCS in 3rd/4th Semester have to select CS619 Project. This project is a must to get Degree. It carries 6 credit hours. So, here we will guide you about the first step of CS619 Project i.e. Gathering and Analysis Requirements.

PHASE-1 Gathering and Analysis Requirements
In this phase you are required to make SRS Document.

What is SRS?

SRS stands for Software Requirements Specification. It is a detailed document that tells about how the system is expected to perform. In this document, following topics are covered:
  • Scope of the Project
  • Software Requirements
    •   Functional requirements
    •   Non-Functional requirements
  • Use Case Diagram
  • Usage Scenarios
  • Adopted Methodology
  • Work Plan

Now let’s discuss them one by one in detail.

    Scope of the Project

    What is scope?
    The scope of the project defines the necessary information required to start a project. It basically answers to the following questions:
    • What are the needs?
    • What is your goal?
    • How the system will fulfill the user needs?
    • Why user should use this system?

    For example:

    Here is an example of scope of the project: An online departmental store.
    👉 Click here to download the project file: Cash and Carry online Departmental Store

    “Cash & Carry is an Online Departmental Store where people will be offered with a wide range of both grocery and non-grocery items to buy online. It offers items to residents located anywhere in Pakistan. This store is being developed to help users to explore their daily, weekly or monthly required items. The payment gateway methods are easypaisa or cash on Delivery.

    In this project, our goal is to facilitate the users to buy grocery and non-grocery items at the ease of their home. The users will interact with our store through Website. Cash & Carry Online Store System is built in the form of Web Application which includes User registration/login system, search system, information flow charts, administration module, payment gateways etc. When the user makes a transaction and purchases an item from this store, he/she will receive items at his/her doorstep along with an invoice.

    Moreover, this system acts as power up approach for people. And also, time saving. As some people like working women/men and old age persons might not be able to go out due to some reasons like tiredness, illness or time constraint. So, Cash & Carry Online Departmental Store plays a significant Role in the life of people whether it’s a man, a woman, a student, or an elderly.”

    💡 Tip: Don’t need to add history and philosophy. Just write the specific content only in your own words. 

    Software Requirements

    Here you will write the functional and non-functional requirements in detail.
    Functional Requirements:

    The functional requirements state: “What a system must do?”. Their emphasis is on the user requirements. They fulfill the users desired tasks. These must be put into the system by the developers to meet users’ requirements. 

    For example:

    This example is related to the above mentioned sample project.

    The user interface will be simple enough to navigate easily. It will contain only two broad main categories Grocery and Non-grocery items on the home page with other tools like search, add to cart, login/signup buttons, FAQ and information flow charts links etc. 

    The customers can register themselves into our system and then login to place order. Registration is mandatory to buy and pay for the items. 
    💡 Tip: You should write all the required functionalities of your project. There may be more than these like: Search, Order Track, Save Selection etc.

    Non-Functional Requirements:

    The non-functional requirements describe: “How a system should behave?”. They specify characteristics of the system.

    For example:

    This example is related to the above mentioned sample project.

    The usability is a key factor to facilitate the user. The system must provide a user-friendly environment to its customers. To interact with the user, system should give a proper list of categories for the user to search their required items.

    To ensure that the user’s information is safe, the system should protect the user’s data. It must refrain the hackers to unauthorized access. The system must use specific standards to secure it from malware attacks and unauthorized access.

    💡 Tip: You should write all the required non-functionalities of your project. There may be more than these like: Accuracy, Reliability, Performance etc.

    Use Case Diagram

    What is Use Case?
    A Unified Modeling Language which represents the interaction between the user and the system. It shows the relationship that exists between the system and the user. The user/actor is involved in different use cases like: login, registration, search, add to cart etc. 

    For example:

    Here is an example Use case diagram of the departmental store 

    Click here to learn more on: How to make Use Case Diagram? 

    Usage Scenarios

    What are usage scenarios?
    They describe the events/actions that occur when the user interacts with the system. They show the real world example that how the people or users interact with the system, What actions do they perform?, What are the conditions?, What will be the exceptions if the action does not meet the desired conditions?
    So here in this section you are required to write the usage scenarios of all cases in the table format which explains:
    • Use Case title
    • Use Case Id
    • Actions Description
    • Alternative Path
    • Pre-conditions
    • Author
    • Exceptions
    • Post-conditions
    You are supposed to provide usage scenario for each use case present in your use case diagram. So basically it explains each use case in detail.

    For example:

    Here is a sample of Usage Scenario from the Online Departmental Store Project.

    Use Case Title


    Use Case Id

    UC 1.1


    A registration Page will open

    Description: A user can register themselves by providing his/her information like: Name, Username, Email, Phone Number, Address, and Password.

    Alternative Path: The user must register to place an order and add items to cart.

    Pre-conditions: The system should provide a proper form for user to fill their required information.



    Unregistered User

    If the user leaves any field empty or inputs wrong email/phone number or the inserted password does not match the requirements then user registration will not take place.

    Post Conditions: A success message should be displayed on successful registration.

    🖉 Note: This is only one scenario from the use case diagram. You have to write scenarios for each use case present in the Use case Diagram.

    Adopted Methodology

    Here you will write in detail about which Software Development Lifecycle SDLC Model you adopted for this project. In short you will write about Waterfall Model and Spiral Model with diagrams. And then you will write VU Process Model which is a combination of Waterfall Model and Spiral Model proposed by Virtual University of Pakistan.
    Waterfall Model

    What is waterfall model?

    Waterfall model is a SDLC approach used to make a linear system sequentially. It was the very first process model. This model divides the software development life cycle into different steps or phases. Each phase has its responsibilities and different objectives. This model is unidirectional. Each phase is dependent on the deliverables of the previous phase. The consequences of one phase are the inputs for the next phase. The main advantage of this model is that it is easy to understand and use. It is best for small projects when requirements are known. But there is high amount of risk of waterfall model and it is not suitable for the projects that have changing requirements.

    Spiral Model

    What is Spiral Model?

    The spiral model is a SDLC risk-driven method. It combines the iterative models with elements of Waterfall model. The model works well for large projects. In this model each next stage is link to the previous so commutation flow can go in both directions and if changes come then they can easily be adjusted. This guarantees that there is no conflict with the previous requirements.
    VU Process Model

    What is VU Process Model?

    VU process model is called hybrid approach of website development. It is the combination of both waterfall and spiral model. This model is easy to understand. It is proposed by Virtual University of Pakistan. This model will maximize the quality of the website and reduce the risk because waterfall avoid overlapping which makes it easy to understand and spiral uses for critical projects. We need both functionalities for our project so that’s why we use VU process model because it’s a combination of both spiral and waterfall process Models.

    Work Plan

    Here you will provide Gantt chart of your final project. 
    What is Gantt Chart?
    It is a type of horizontal bar chart which tells the timeline of the project. It shows the starting and finishing time of your project phases. See below to get an idea.

    For example:

    We hope you understood these concept clearly. Feel free to ask any question. 
    You can contact us on:


    Anam Afzal

    Anam Afzal

    Hi, I'm a Pakistani freelancer with a passion for helping businesses achieve their online goals through no-code solutions. I specialize in WordPress customization and ManyChat automation, and I'm always on the lookout for new ways to use technology to make businesses more efficient and successful. I'm also a big believer in the power of no-code tools to democratize technology and make it accessible to everyone. I'm passionate about sharing my knowledge and helping others learn how to use no-code tools to create their own websites, automate their workflows, and grow their businesses. If you're looking for a reliable and experienced no-code developer, I'm here to help. Please feel free to contact me to discuss your project requirements.