Rejoan Billah (ID is approved in partial fulfillment of the requirement for the degree of B.sc in SOFTWARE ENGINEERING. The success and final outcome of this project required a lot of guidance and assistance from many people and I am extremely privileged to have been given this I respect and thank Nazia Nishat mam, for giving me an opportunity to do the project work in Php and giving me all the support and guidance which made me complete the project properly.
I owe my deep gratitude to my project guide Nazia Nishat mam, who took a lot of interest in my project work and all the time guided me to complete my project work by providing all the necessary information for developing a good system. I am thankful and lucky enough to get constant encouragement, support and guidance from all Teaching staff of Department of Software Engineering which helped me to complete our project work successfully. I would like to dedicate this project to my honorable Father and Mother, my instructor, my honorable teachers who are always dear and close to me and without whose patience, care, understanding, unrelenting support, affection and above all deepest love this would not have been possible to get to this position.
The entire project was developed with distributed client-server computing technology in mind. This project has tried to integrate all the advanced features of PHP so that the goal of the project can be achieved.
Introduction
- Project Overview
- Project Purpose
- Background
- Benefits & Beneficiaries
- Goals
- Stakeholders
- Proposed System Model (block diagram)
- Project Schedule
- Gantt chart
- Release Plan/Milestone
The search results include the donor's availability status and whether he/she is available or not. Users who are not interested in registering can also request blood from the Send Request menu. Also, users who are not interested in registering can view the blood request in the View Request menu so that he/she can apply to donate blood.
When a registered user enters his donated information, the system will automatically generate the status of that user if he is available or not. So that it will find the previous donors and their status whether they are available or not. When people are looking for blood in the blood bank, they face many problems as they have found too many matching contacts but no one is available at the moment. Our goal is to reduce these issues by showing the status of the donor if they are currently available or not in our system when a user searches for a blood system.
Because if someone doesn't want to register, he/she can search or send request for blood and see requests from view request section. Then he/she can update his/her blood donation details and can also update their profile details.
Software Requirement Specification
- Functional Requirements
- Data Requirements
- Performance Requirements
- Speed and Latency Requirements
- Precision or Accuracy Requirements
- Capacity Requirements
- Dependability Requirements
- Reliability Requirements
- Availability Requirements
- Robustness or Fault-Tolerance Requirements
- Safety-Critical Requirements
- Maintainability and Supportability Requirements
- Maintenance Requirements
- Supportability Requirements
- Adaptability Requirements
- Scalability or Extensibility Requirements
- Security Requirements
- Integrity Requirements
- Privacy Requirements
- Usability and Human-Interaction Requirements
- Ease of Use Requirements
- Personalization and Internationalization Requirements
- Understandability and Politeness Requirements
- Accessibility Requirements
- User Documentation Requirements
- Training Requirements
- Look and Feel Requirements
- Appearance Requirements
- Style Requirements
- Operational and Environmental Requirements
- Expected Physical Environment
- Requirements for Interfacing with Adjacent Systems
- Projectization Requirements
- Release Requirements
- Legal Requirements
- Compliance Requirements
- Standards Requirements
Speed and latency requirements should not be questionable when retrieving data from the server. Description When a user searches for blood, the search result must match the search value. RAR-1 System must work with all required functions Description • Our system must work all the time.
RAR-1 System should be available 24*7 Description Our system should be available 24*7 stakeholders Users. Description This system is easy to use and anyone will understand how to operate the system. I set up the system to identify users and provide them with the content, experience, or functionality that matches their role.
I already declare that this system is easy to use and anyone will understand who can browse the internet. This system has some accessibility requirements, such as: non-registered user will not be able to access the features that features are for registered users. User documentation is prepared to make the development life cycle easier for systems engineers or systems analysts.
It is very necessary to properly train the end users on the system so that they are able to operate easily. After launching the system, we need to assign some volunteers, they will be trained to the end users to use the system easily. Look and feel requirements mainly refer to how the system will look, how the system will interface to end users.
SR-1 The appearance must be controllable using CSS file Description For php system stylesheet file is CSS. Requirements for Interfacing with Adjacent Systems This system may interface with another adjacent system. But this system is not under any organization, so there will be no legal requirements at present.
System Analysis
- Use Case Diagram
- Use Case Description (for each use case)
- Activity Diagram (for each use case)
- System Sequence Diagram (for each use case)
Objective Registered and non-registered users can send a request for blood Prerequisites No authentication required. Target Registered and non-registered users can view blood request Prerequisites No authentication required. Target Registered and non-registered users can view the blood search Prerequisites No authentication required.
Successful End Status Users can update their donated blood information. Users cannot delete their blood donation data after a failed end state. Success End Condition Users can see a list of donations. Failure End Condition Users cannot delete donation data.
System Design Specification
- Class Responsibilities Collaboration (CRC) Cards
- Class Diagram
- Database Design Diagram
- Development Tools & Technology
- User Interface Technology
- Implementation Tools & Platforms
Bootstrap is an open source tool for developing with HTML (Hypertext Markup Language), CSS (Cascading Style Sheets) and JS (Java Script). It is very important to determine which tools and platforms best match my requirements. There are many PHP editors available that are hosted on Windows, Linux and Mac and can be downloaded for free.
It is lightweight with the required feature and is supported on OSX, Windows as well as Linux. The Sublime Text Editor is configured to gain its powers through various plugins and packages.
System Testing
- Testing Features
- Features to be tested
- Features not to be tested
- Testing Strategies
- Test Approach
- Pass/Fail Criteria
- Suspension and Resumption
- Testing Schedule
- Traceability Matrix
- Testing Environment (hardware/software requirements)
- Test Cases
Automation Testing: Automation testing is a name of testing technique by which test engineers prepare some scripts according to test plan and then use suitable tools to perform testing of the software. Manual Testing: Manual testing is also a name of technique of testing by looking for the errors or vulnerability in an application. In this process, test engineers test and execute the test cases manually without having any automation tools.
Black-box testing is a method of software testing that examines the functionality of an application based on the specifications. Independent testing team usually perform this type of testing during the software testing life cycle. This testing method can be applied to every level of software testing such as unit, integration, system and acceptance testing.
It is a software testing technique that divides the input test data of the application under test at least once into each partition with equivalent data from which test cases can be derived. An advantage of this approach is that it reduces the time required for software testing due to a smaller number of test cases. Limit Value Analysis: Limit value analysis is a type of black box or specification based testing technique where tests are performed using the limit values.
White box testing is a testing technique that examines the structure of the program and extracts test data from the program logic. Branch Coverage: This technique is performing a series of tests to ensure that all branches are tested at least once. If the data cannot be displayed to the users properly, then that should also be considered as failure criteria.
Suspension criteria specify the criteria to be used to suspend all or part of testing activities, while resumption criteria specify when testing can resume after it has been suspended. A test case is a set of conditions or variables under which a tester will determine whether a system under test meets requirements or is functioning correctly. The process of developing test cases can also help identify problems in the requirements or design of an application.
User Manual
User Manual
Registered users can add other donors to their favorite list and can also view from the same page.
Project Summary
- Github Link
- Limitations
- Obstacles & Achievements
- Future Scope
We believe that all kinds of people in our country will benefit greatly from this project. Warning message to donors: In this system I wanted to add a warning message to donors to inform about their availability to donate blood. But we all know that people now want an application for every kind of internet.
So mobile users need to go to their browser to view this system by accessing bloodbankbd.ml. Also, I have one thing in my head is, will this project help the peoples abroad or not. Donor status: I need to show which donor is available and which donors are not available at the moment.
After researching through Google I tried too many times for this position and finally I did it. Email request to registered donors: When a user sends a blood request, this request information is forwarded to the email of all registered donors and they are informed of the request. After completing this project, my major achievements are knowing about the PHP language and also now knowing how the software development life cycle works.