Professional Documents
Culture Documents
Engineering College
(An Autonomous Institution)
Computer Engineering Department
AY 2023-24, SEMESTER - VI
Lab
Manua
l of
Software Engineering
24
Name:
ID No:
Batch: E batch
Faculty Name: Ami B. Parekh
1
CERTIFICATE
Date:
2
INDEX
Sr.
Title Date Sign
No
Study of phases in software development life cycle and
1.
software process models of project.
2. To perform the System Analysis: Requirement analysis, SRS
Study to Find out the cost of the CAD software: Using LOC &
12 FP Approach.
3
PRACTICAL-1
Why SDLC?
4
Stage 1: Planning and Requirement Analysis
Planning for the quality assurance requirements and identification of the risks associated
with the project is also done in the planning stage. The outcome of the technical
feasibility study is to define the various technical approaches that can be followed to
implement the project successfully with minimum risks.
Once the requirement analysis is done the next step is to clearly define and document the
product requirements and get them approved from the customer or the market analysts.
This is done through an SRS (Software Requirement Specification) document which
consists of all the product requirements to be designed and developed during the project
life cycle.
SRS is the reference for product architects to come out with the best architecture for the
product to be developed. Based on the requirements specified in SRS, usually more than
one design approach for the product architecture is proposed and documented in a DDS
- Design Document Specification.
This DDS is reviewed by all the important stakeholders and based on various parameters
as risk assessment, product robustness, design modularity, budget and time constraints,
the best design approach is selected for the product.
A design approach clearly defines all the architectural modules of the product along with
its communication and data flow representation with the external and thirdparty modules
(if any). The internal design of all the modules of the proposed architecture should be
clearly defined with the minutest of the details in DDS.
5
Stage 4: Building or Developing the Product
In this stage of SDLC the actual development starts and the product is built. The
programming code is generated as per DDS during this stage. If the design is performed
in a detailed and organized manner, code generation can be accomplished without much
hassle.
Developers must follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers, etc. are used to generate the
code. Different high level programming languages such as C, C++, Pascal, Java and
PHP are used for coding. The programming language is chosen with respect to the type
of software being developed.
This stage is usually a subset of all the stages as in the modern SDLC models, the testing
activities are mostly involved in all the stages of SDLC. However, this stage refers to the
testing only stage of the product where product defects are reported, tracked, fixed and
retested, until the product reaches the quality standards defined in the SRS.
Once the product is tested and ready to be deployed it is released formally in the
appropriate market. Sometimes product deployment happens in stages as per the
business strategy of that organization. The product may first be released in a limited
segment and tested in the real business environment (UAT- User acceptance testing).
Then based on the feedback, the product may be released as it is or with suggested
enhancements in the targeting market segment. After the product is released in the
market, its maintenance is done for the existing customer base.
6
SDLC Models: There are various software development life cycle models defined and
designed which are followed during the software development process. These models
are also referred as Software Development Process Models". Each process model
follows a Series of steps unique to its type to ensure success in the process of software
development.
Following are the most important and popular SDLC models followed in the industry:
• Waterfall Model
• RAD Model
• Iterative Model
• V-Model
I. Waterfall Model
The waterfall model is a sequential, plan driven-process where you must plan and
schedule all your activities before starting the project. Each activity in the waterfall
model is represented as a separate phase arranged in linear order.
7
II. RAD Model
1. Business modeling
2. Data modeling
3. Process modeling
4. Application generation
5. Testing and turnover
The RAD concept focuses on gathering requirements using focus groups and
workshops, reusing software components, and informal communication.
The RAD model accommodates changing requirements, reduces development time, and
increases the reusability of components. But it can be complex to manage.
The iterative development model develops a system through building small portions of
all the features. This helps to meet initial scope quickly and release it for feedback.
In the iterative model, you start off by implementing a small set of the software
requirements. These are then enhanced iteratively in the evolving versions until the
system is completed. This process model starts with part of the software, which is then
implemented and reviewed to identify further requirements.
8
Like the incremental model, the iterative model allows you to see the results at the early
stages of development. This makes it easy to identify and fix any functional or design
flaws. It also makes it easier to manage risk and change requirements.
IV. V Model
The V model (Verification and Validation model) is an extension of the waterfall model.
All the requirements are gathered at the start and cannot be changed. You have a
corresponding testing activity for each stage. For every phase in the development cycle,
there is an associated testing phase.
The V model is highly disciplined, easy to understand, and makes project management
easier. But it isn’t good for complex projects or projects that have unclear or changing
requirements. This makes the V model a good choice for software where downtimes and
failures are unacceptable.
9
10
Software Requirements Specification
for
Online Medicine Ordering System
Prepared by
11
PRACTICAL – 2
1. Introduction
1.1 Purpose
This document follows the APA 7th edition Format. Sub-headings and emphasized parts
are written in bold text. The words enlisted in glossary are highlighted throughout the
document and italicized text is used to label diagrams and for figure and table captions.
This document provides relevant information to stakeholders and creates an appropriate
mean for dialogue and aids in advanced information on the project concept(s) according
to the context. The report also provides a window for stakeholders to better understand
the project. This document aims at providing user-friendly and accessible system
information available to stakeholders during the course of this system development.
This system product is created to allow the admin to manage the record of the subject so
that he can easily update the question details according to the exam available in subject
if a new exam is added or any existing exam is deleted from the subject. The users can
search and select exam by their names. The system will allow student to register
themselves by entering their essential credentials like name, e-mail address, postal
address, and contact number to view the exam in subject and you can see result.
The system will keep a record of all the exam result and will also keep the record of the
exam received by the admin. The system will also generate a monthly report on the
Performance of the student
13
1.5 References
Shamil, P. F. (2020, February 11). Online Examination System Project in PHP or
ASP.NET SRS Document. Retrieved from https://t4tutorials.com/:
https://t4tutorials.com/online- Examination -system-project-in-php-or-asp-net-srs-
document/#
Streefkerk., R. (2020, November 6). APA format for academic papers and essays. Retrieved
from scribbr.com: https://www.scribbr.com/apa-style/format/
2. Overall Description
2.1 Product Perspective
The software product being developed is a web-based system which functions is to buy
and sell medicines. The product is created with the intention to provide case to
customers for buying medicines without visiting the shops. The product works with
other databases to extract and store medicines information.
Following are the main features that are included in the Online Medicine Ordering System:
Databases: The system is linked with local databases where record of medicines
that were sold, expired, and returned is maintained.
User account: The system allows the user to register their accounts in the system
and avail the features of updating and viewing profiles.
Record: The previous record of registered users can be stored for future use.
14
The external interface includes suppliers, delivery system, and drug store as shown in
the image below,
15
2.3 User Classes and Characteristics
Users of the System should have detailed Knowledge of software, there are two main
types of users as show below.
1. User Classes:
o Customers: These are the primary users of the system. They include
individuals seeking to purchase medicines online. Their characteristics include:
Roles: Browsing medicines, placing orders, making payments, and
tracking deliveries.
Responsibilities: Selecting medicines, providing accurate information,
and ensuring secure transactions.
o Administrators: These users manage the system. Their characteristics include:
The constraints related to design and implementation of this software are specified by
the programming language used for implementation, the software engineering
environment,
16
the programming methodology used, and the availability of supporting tools for
automatic system analysis to keep the patent functions in distinct modules.
The interface of the software is designed to support only English language as it is well
understood nationwide.
User-friendly software interface will be designed. Moreover, the designed software can
be implemented in any operating system and user will not have to do any additional
installation to run this software on his PC. This software requires PCs to have only basic
features installed to run this software.
The system can store data up to 4 terabytes but when the system is busy user may have
to wait for one to two minutes for the pages to load otherwise the medicine ordering
system will work smoothly.
This software system allows more than one user to login and use it at a time. It has no
limitations for the number of users using it. The online medicine ordering system will
operate 24 hours on all weekdays.
Only the developer will be able to view and edit its source code. Moreover, changings in
record and data can only be done by the authorized and permitted users. No
unauthorized access to the system will be permitted.
17
3.1 User Interface (UI):
18
User Registration/Login:
Allow users to create accounts easily with minimal information.
Implement secure authentication mechanisms.
Dashboard:
Provide a user-friendly dashboard for easy navigation.
Display order history, prescription uploads, and account details.
Search and Browse:
Implement a robust search functionality for medicines.
Organize medicines into categories for easy browsing.
Product Pages:
Include detailed information about each medicine.
Add options for dosage, quantity, and prescription upload.
Shopping Cart:
Enable users to add/remove items easily.
Show a summary of the order, including costs.
Checkout Process:
Simplify the checkout with clear steps.
Integrate secure payment gateways.
Prescription Upload:
Allow users to upload prescriptions securely.
Ensure compliance with privacy and data protection regulations.
Order Confirmation:
Provide a confirmation page with order details.
Send email/SMS confirmations to users.
3.2 Hardware Interfaces:
Ensure compatibility with various devices (desktops, tablets, and smartphones).
Optimize for different screen sizes and resolutions.
Consider touch interfaces for mobile users.
Integrate with common hardware components like barcode scanners (if applicable).
3.3 Software Interfaces:
Payment Gateways:
Integrate secure and reliable payment gateways (e.g., GPay,PhonePay).
Database Management:
19
Implement a robust database for storing user information, orders, and
product details.
Prescription Verification:
Integrate a system for verifying uploaded prescriptions.
Collaborate with healthcare providers for prescription validation.
3.4 Communication Interfaces:
User Notifications:
Implement push notifications for order updates.
Send email/SMS alerts for order confirmation, shipping, and delivery.
Customer Support:
Provide chat support for real-time assistance.
Integrate a ticketing system for issue resolution.
Integration with Pharmacy:
Establish communication protocols with pharmacies for order processing.
Ensure secure data exchange between the platform and pharmacies.
4. System Features
3. Product Information:
Display detailed information about each medicine, including dosage, side effects,
and usage instructions.
Include images and user reviews if available.
20
4. Prescription Upload:
Allow users to securely upload prescriptions.
Implement a validation system to ensure the authenticity of prescriptions.
6. Order Tracking:
Implement a real-time order tracking system.
Provide status updates from order confirmation to delivery.
7. User Notifications:
Send push notifications, emails, or SMS for order confirmations, shipment details,
and delivery status.
Notify users about prescription verification status.
8. Payment Integration:
Integrate secure payment gateways for online transactions.
Provide multiple payment options, including credit/debit cards and digital wallets.
11.Responsiveness:
21
Design the platform to be responsive on various devices like laptop,Computer,and
especially mobile phones and tablets.
22
5.4 Software Quality Attributes:
Reliability:
The system should have an uptime of at least 99.9%.
Usability:
The user interface should be intuitive, and user satisfaction surveys should
indicate a score of at least 85%.
Maintainability:
Code should follow best practices, and updates should be deployable without
disrupting service.
Performance Efficiency:
Optimize database queries and ensure quick response times to maintain a
seamless user experience.
6. Other Requirements:
Cross-Browser Compatibility:
Ensure the platform is compatible with major web browsers (Chrome, Firefox,
Safari, Edge) to offer a seamless experience to users.
Offline Functionality:
Implement a feature allowing users to view previously accessed information, such
as order history and prescription details.
23
PRACTICAL – 3
24
ER Diagram of the System:
25
PRACTICAL – 4
Use case diagrams are a common way to communicate the major functions of a software
system. A use case diagram at its simplest is a representation of a user's interaction with
the system that shows the relationship between the user and the different use cases in
which the user is involved. A use case diagram can identify the different types of users
of a system and the different use cases and will often be accompanied by other types of
diagrams as well.
Use cases are nothing but the system functionalities written in an organized manner.
Now another thing which is relevant to the use cases are the actors. Actors can be
defined as something that interacts with the system.
26
Use Case Diagram of the System:
27
PRACTICAL – 5
In the diagram, classes are represented with boxes that contain three compartments:
The top compartment contains the name of the class. It is printed in bold and centered,
and the first letter is capitalized.
The middle compartment contains the attributes of the class. They are left- aligned and
the first letter is lowercase.
The bottom compartment contains the operations the class can execute. They are also
left- aligned and the first letter is lowercase.
In the design of a system, a number of classes are identified and grouped together in a
class diagram that helps to determine the static relations between them. With detailed
modelling, the classes of the conceptual design are often split into a number of
subclasses.
28
29
Class Diagram of the System:
30
PRACTICAL – 6
State diagram is one of the UML diagrams used to model dynamic nature of a system.
They define different states of an object during its lifetime. And these states are changed
by events. So State diagrams are useful to model reactive systems. Reactive systems can
be defined as a system that responds to external or internal events.
State diagram describes the flow of control from one state to another state. States are
defined as a condition in which an object exists and it changes when some event is
triggered. So the most important purpose of State diagram is to model life time of an
object from creation to termination. State diagrams are also used for forward and reverse
engineering of a system. But the main purpose is to model reactive system.
31
State Diagram of the System:
32
PRACTICAL – 7
An activity denotes a particular action taken in the logical flow of control.This could
simply be invocation of a mathematical function, alter an object's properties and so on.
An activity is represented with a rounded rectangle, as shown in figure. A label inside
the rectangle identifies the corresponding activity.
There are two special types of activity nodes: initial and final. They are represented with
a filled circle, and a filled in circle with a border respectively. Initial node represents the
starting point of a flow in an activity diagram. There could be multiple initial nodes,
which mean that invoking that particular activity diagram would initiate multiple flows.
A final node represents the end point of all activities. Like an initial node, there could be
multiple final nodes. Any transition reaching a final node would stop all activities. A
flow is represented with a directed arrow. A decision node, represented with a diamond,
is a point where a single flow enters and two or more flows leave. This is represented
with a diamond shape, with two or more flows entering, and a single flow leaving out.
Fork is a point where parallel activities begin. A join is depicted with a black bar, with
multiple input flows, but a single output flow. Physically it represents the
synchronization of all concurrent activities.
33
34
Activity Diagram of the System:
35
36
PRACTICAL – 8
Sequence diagram contains the objects of a system and their life-line bar and the
messages passing between them. Objects appear at the top portion of sequence
diagram. Object is shown in a rectangle box. Name of object precedes a colon ‘:’
and the class name, from which the object is instantiated. The whole string is
underlined and appears in a rectangle box. A down- ward vertical line from object-
box is shown as the life-line of the object. A rectangle bar on life- line indicates
that it is active at that point of time. Messages are shown as an arrow from the life-
line of sender object to the life-line of receiver object and labelled with the message
name.
37
Sequence Diagram of the System:
38
PRACTICAL – 9
0 Level DFD:
39
40
41
42
43
44
PRACTICAL – 10
45
PRACTICAL – 11
2 Documentation 1 Weeks
7 Development 3 Weeks
46
PRACTICAL – 12
Aim: Study to Find out the cost of the CAD software : Using LOC & FP
Approach.
COCOMO Equation:
Where:
47
Team experience is a rating of the development team's experience on a scale
from very low to very high.
Development environment is a rating of the software development environment
on a scale from very low to very high.
Assuming you have the number of function points for the project and
the cost per function point, let's say:
So, if the number of function points for the project is 100 and the cost
per function point is Rs. 500, then the total cost of the CAD software
would be Rs. 50,000.
48
PRACTICAL – 13
This section lists the functional requirements used for creating the testcase
table, the test cases that were used to verify the interface table, and the results
for the test-cases table.
49
Test Cases:
50
PRACTICAL – 14
Regulatory Compliance:
Consider pharmaceutical regulations for online prescription verification and
distribution.
Quality Assurance:
Ensure quality and authenticity of medicines through trusted suppliers and
proper inventory management.
Implement quality control checks in the ordering and fulfillment process.
Fraud Prevention:
51
Implement mechanisms to detect and prevent fraudulent activities, such as false
orders or payment fraud.
Monitor user activities for suspicious patterns.
Technical Risks:
Stay updated with the latest technology trends and best practices to avoid
obsolescence.
Manage risks associated with third-party integrations and dependencies.
Customer Satisfaction:
Ensure customer satisfaction by providing accurate and timely deliveries and
good customer service.
Collect feedback to improve the system and address issues.
52