Under Dr. Khubaib Amjad Alam
Contributors:
Name | Roll Num |
---|---|
Muhid Abid | i180560 |
Hassan Riaz | i180580 |
Ayesha Rauf | i181594 |
SoftReq is an Integrated Software Requirements Management Tool. Built using Angular, this web application provides support for developers and business analysts with managing requirements for a software application project.
SoftReq.demo.mp4
- Track your software development projects according to workspaces and projects.
- Organize requirements for each project within a Kanban view for easy visualization.
- Add Requirement Attributes (Priority, Status, Legal Liability, Cross-Reference)
- Extract Quality Concerns.
- Detect Requirement Ambiguities.
- Check for Requirement redundancies
- The ambighuity detection AI is trained on a ~3k hand-labeled software requirements dataset, which you can find in this repo, based on the IEEE ISO/IEC 25010 quality model.
- This project was done over 32 weeks in MEAN+Python web stack.
- High fidelity Figma designs were made as a base then a mongodb database was designed and integrated with NodeJS & Flask APIs, and Angular.
Note: the emails mentioned in this doc are not functional anymore. You can contact us at muhidabid.cs@gmail.com
- Install angular cli
- Set up a Mongo database with a 'Workspaces' collection with a sample workspace of the type:
{
name: {type: String},
description: {type: String},
projectsRef: {
type: [ObjectId],
index: true,
ref: 'Projects'
},
}
- Replace your MongoDB URL in
DEVELOPMENT\backend-express\config\db.js
"0. DEVELOPMENT" This folder is the main development folder of our project.
In 0. DEVELOPMENT\client-angular
, to start Angular server:
npm install
ng serve
In 0. DEVELOPMENT\client-angular\src
, to start Express server:
node server.js
In 0. DEVELOPMENT\client-angular\backend-python
, to start Python server:
python flask-apis.py
Open a new tab on your local browser and go to http://localhost:4200/home-page
Once you run the SoftReq application, you will be at the home page. Go to 'Dashboard' from the menu where you can create new workspaces to keep track of your projects.
-
Click on the ‘Workspace +’ button on the left side bar of the screen. In the pop-up window that opened, enter a name for your workspace and a small description.
-
Click on ‘Create Workspace’ to go to the new workspace.
From within a workspace, multiple projects can be created.
-
Go to the workspace where you want to add a new project.
-
Click on the ‘Create New Project’ button. In the pop-up window that opened, enter a name for the project and a small description.
-
Click on ‘Create Project’.
-
Click on the newly-created project in the center of the screen.
From within a project, multiple user requirements can be assigned to that project.
User requirements can be added to the default list (‘ExampleList’, the gray component shown on the left side of the screen) , or different lists can be created to categorize requirements as needed. New lists can be created using the purple ‘New List’ button on the upper right corner of the screen.
To add user requirements to a list:
- Click on the ‘+’ button inside any list. In the pop-up that opens, write a single requirement, then click ‘Confirm’.
Once requirements are created, you can:
-
Click on ‘Extract Quality Concerns’ to see its requirement classification.
-
Click on the pencil icon to add attributes to the requirement.
-
Drag and drop a requirement from one list to another.
-
See all requirements in the backlog view to organize into sprints.
Check out our ambiguity detection implementation here
For questions and bug reports open issues. 🐛
Have an idea? Found a bug? See how to contribute
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.
We hope you find SoftReq a useful application for your requirements management needs.