Guruignou.
com
Guruignou.com
Course Code : BCS-051
Course Title : Introduction to Software Engineering
Last Date of Submission : 15th October, 2019 (For July 2019 Session)
15th April, 2020 (For January 2020 Session)
Q1. Develop SRS as per IEEE standard for Hospital Management System. Make
assumptions wherever necessary.
Ans-1
Write down the complete SRS from the Given link:-
SOFTWARE REQUIREMENT SPECIFICATION 1. Introduction The SRS is produced at the
culmination of the analysis task. The function and performance allocated to software as part of the
system engineering and refined by establishing a complete information description, a detailed
functional description, a representation of system behavior, indication of performance requirements
and design constrains, appropriate validation criteria and the other information related to
requirements.
The SRS is technical specification of requirement of Hospital Management system. This specification
describes what the proposed system should do without describing how it will do it. It also describes
complete external behavior of proposed system.
1.1. Purpose:- The main purpose of our system is to make hospital task easy and is to develop
software that replaces the manual hospital system into automated hospital management system. This
document serves as the unambiguous guide for the developers of this software system.
1.2. Scope:- The document only covers the requirement specification for the hospital management
system. This document does not provide any references to the other component of the hospital
management system. All the external interfaces and the dependencies are also identified in this
document.
1.3. Feasibility Study:- Download projects in www.studentprojectguide.com The overall scope of the
feasibility study was to provide sufficient information to allow a decision to be made as to whether the
hospital management system project should proceed and so, its relative priority in the context of the
other existing hospital management system. The feasibility study of this project had undergone
through various steps which as describe as under:
a) Identify the origin of the information at different level.
b) Identify the expectation of user from computerized system.
Guruignou.com
c) Analyze the drawback of existing system.
1.4. Definition,Acronyms,Abbreviations:- CFD: - Context Flow Diagram DFD: - Data Flow Diagram
IDE: - Integrated Development Environment Java:-
PlatformIndependent,Object_orientedprogramming language SQL: - Structured Query Language
SRS: - Software Requirement Specification.
1.5. Reference:- 1) An integrated approach to software engineering, Third edition by Pankaj jalote 2)
Java – Balaguruswamy 3) SQL server 2005 – JosephL Jordan.
1.6. Overview:- Download projects in www.studentprojectguide.com Hospital Management System is
a process of implementing all the activities of the hospital in a computerized automated way to fasten
the performance.
This project is to maintain the patient details, lab reports and to calculate the bill of the patient. You
can also manually edit any patient details and issue bill receipt to patient within few seconds
2. OVERALL DESCRIPTION 2.1.
Product perspectives:- This project gives the procedural approach how a patient gets treatment,
details about date of treatment and finally depending on different criteria like room allocated, lab
reports, treatment and medicine taken…..etc,how billing is calculated. During billing health card
facility is also considered.
2.2. Product Function:- The data represented in hospital management application will perform the
following major function:- Patient Details: - It includes inpatient and outpatient details. Lab reports
Billing Details This software will help to calculate the bill much quicker and simpler way. This enables
the organization to keep the information in efficient and systematic way.
2.3. User Characteristics:- This software is developed such that total appearance of the product to
make it more user friendly. The operator will be provided with loginid and password. General users
with basic computer skills can use this software.
2.4. General Constraints:- Any update regarding the patients information from the hospital are to be
recorded to have updated and correct values.
2.5. Assumption and Dependencies:- All the data entered will be correct and up_to_date.This
software package is developed using java as front end which is supported by sun micro system, MS
SQL server 2005 as the back end which is supported by Microsoft windows xp
3. SPECIFIC REQUIREMENTS It describes all the details that the software developer need to know
for designing and developing the system. This is typically the largest and most important part of the
document.
3.1. External Interface Requirements:-
3.1.1. User Interface:- User interface is designed in a user friendly manner and the user, in another
end he has to give the order, for that he will interface with keyboard and mouse.
3.1.2. Hardware Interface:-
1) OS – windows XP
Guruignou.com
2) Hard disk – 80 GB
3) RAM – 1 GB
4) Keyboard – Standard QWERTY keyboard for interface
5) Mouse – Standard mouse with 2 buttons
3.1.3. Software Interface:-
1) Front end – Java language
2) OS – Net Beans IDE 6.9.1
3) Back end – SQL Server 2005
3.1.4. Communication Interface:- Windows
3.2. Functional Requirements:-
3.2.1. Administration module:- This module enables the user to insert, update, view and delete the
patient information.
3.2.2. Patient module:- PatientId,Name,Age,Sex,Address,Phone Number,Weight
This module has following 2 sub modules:-
3.2.2.1. Inpatient module:- This sub module is used to store information about patients who were
admitted in the hospital on doctors advice.
PatientId, Dept depending on disease,
Doctor, Room no, Date of admitted, Advance, Date of discharge.
Updation like deletion and modification is done.
3.2.2.2. Outpatient module:- PatientId,New_Case,Old_Case,Date,Deptdependingon
disease,Doctor . Updation like deletion and modification is done.
3.2.3. Lab module:- This module used to store or produce the laboratory reports.
PatientId, Weight, Category, Doctor, Inpatient/Outpatient, Date.
Updation like deletion and modification is done.
3.2.4. Billing module:-
3.2.4.1. Inpatient module:-
PatientId, doctors charge, health card amount, room bill, medicine bill, total amount, No of days,
Service charge, Operation theatre,Nursing care, Lab bill .
3.3. Performance Requirements:-
Guruignou.com
The capability of the computer depends on the performance of the software. The software can take
any number of input provided the database size is large enough. This would depend on the available
memory space.
3.4. Design Constraints:-
This will help the doctors or users to view the records of the patients immediately whenever
necessary. They can also calculate the bill of the particular patients. This software also has the ability
to add, update and delete the record whenever needed. This project will help to smoother the process
of the hospital activites.
Q2. Develop Design Document for the System mentioned in Question no.1
Ans-2
DESIGN DOCUMENTS
Data Flow Diagram
Hospital Management
0 Level DFD
Guruignou.com
Front Desk Staff Doctor/Nurse
Patient Details Reports Information
Assign ID
Patient ID
Hospital
Management
System
Updated Wards Details
Doctor/Nurse Information
Doctor Schedule
Wards Details
Management Information System
1 LEVEL DFD
Guruignou.com
Patient Details
Registration Consultation
0.1 0.2
Patient ID
Patient ID
Patients
Details
Patient ID
Doctors
Details
Assign Doctor/Nurse
Medical Matter
Report Generation
Management
Update Reports 0.4
0.3
Reports
Details
Patient ID
Check-Out
0.5
Payment
Ward Details
Details
2 Level DFD
Guruignou.com
Doctor Assign
Checkout
Patient ID Request
Update
ward
Checkout
Details
Ward
Details
Account
Process
Update
Patient
Details
Patient
Details
2 LEVEL DFD
Guruignou.com
ID Assigned
Add
Patients
Patient Details
Patient
Details
Check
Prehistory Prehistory
Details
Update
Prehistory
Guruignou.com
USE CASE:
System
«extends»
Admission Bed Allocation
«extends»
Doctor Appointments Undergo Operation Income
«extends»
Front Desk Staff
Test Appointments
«extends»
Finance Management System
Login
Nurses Expendlture
Draw Salary
Add Dortor/Staff
«extends»
Visiting Doctors
Delete Doctor/Staff
Prescribe Tests Record System
Edit Doctor/Staff
«extends»
Doctors
Ward/Bed Status
InHouse Doctors
Admission/
Discharge Reports
Information system
Patient Information
Guruignou.com
CLASS DIAGRAM:
Patient Expenditure
-id : int +amt : float
-name : char edit +billno : int
-age : int +GiveSalary() : void
-sex : char
1 -appdate : Date 1..* +AddDoctor() : int
+Create() : int +AddStaff() : int 1
+Inpatient() : bool +DelDoctor() : void
+IsPatient() : int +DelStaff() : void
+Editdocot() : void
+EditStaff() : void 1..*
1
1 1
DoctorStaff
-id : int
Appointment -name : char
-age : int
+dt : Date -sex : char
+tm : Date 1..*
-salary : float
Test Operation
+DrawSalary() : void
Registration -PatientId : int
-Id : int
-flag : int 1
+Register() : int
+AllotBed() : void +OpAppt() : void
+TestAppt() : void
+DocAppt() : void
1 +GetTests() : int
1
+GetOper() : int
Income
-amt : float
-billno : int
+AddTestCharges() : float
1 +AddOprCharges() : float
+AddApptCharges() : float
+AddWardCharges() : float
1
1
Ward
Reports
-wardno : int
-nobeds : int
-*name : char +DispWardStatus() : void
+BedStatus() : int 1 1 +DispAddisReport() : void
+GetName() : char +DispPatInfo() : void
1
Guruignou.com
ER-D
Guruignou.com
Q3. Explain the process of calculating the cost of a Project with an Example.
ANS-3:
In order to make an accurate estimation and get how to provide estimates for software development, it is important to
understand the scope of work. We have already explained this in a previous blog post. Let’s just sum up the main
steps in few bullet points when going through estimation process.
Understanding the scope of work.
Understanding the overall complexity of the project
Divide the whole complex projects into simple manageable tasks and therefore easy to estimate
Based on experience, familiarity with the task and expertise; estimate these tasks one by one
Most of the project estimation processes start with these steps. The most important point is to break the project into
small units, which are simpler to estimate. It is much simpler to estimate how long would it take for an intermediate
developer to develop an API to perform LDAP authentication for instance than to estimate time to secure an
application.
Now when it comes to measuring project estimation, it is important to give estimation in man-hour. Trying to get man-
hours needed to complete a project will help us answer how to estimate software development time? Why is it
important to estimate projects in man-hours? And what is man-hour?
UNDERSTANDING MAN-HOUR
Estimation is important because it helps not only have a knowledge of the budget needed but also have an idea of the
time needed to complete the project. The time estimation can be easily translated into budget once we know how
much a man-hour costs and after analyzing the dependencies of all tasks we can compute the time it will take to
complete the whole project.
So what is man-hour? A man-hour defines the amount of work done by an average IT specialist during one hour
worked without any interruption. There are two separate concepts in man-hour:
Man: the specialist doing the task (developer, tester, etc.). It is important to define and differentiate each team
involved in order to make a good estimation. Considering a backend developer when estimating load testing is not
relevant. Each estimation has to be made on the correct “man”.
Hour: 60 minutes of continuous work. It is important to note and understand the absence of interruption while doing
the estimation. A total hour spread over two days will still be counted as one hour; resources optimization should be
done during planning in order to avoid discontinuity as much as possible. We will see in the following section how to
estimate hours for a project.
Now that we have seen the two important components of time estimation which are man and hour, it is important to
stress that having an accurate estimation of each role is crucial since planning will be based on the output of this
estimation.
In order to use efficiently the hour worked by the specialist involved in software development, it is important to
understand what may prevent him from working on his task in a continuous way? Does he need to wait for other
resources, other features to be completed etc.? A thorough understanding of dependencies and anticipation for
resources needed are ingredients of a good planning. A good planning means scheduling a task at its favorable
Guruignou.com
moment, defining exactly the precedence constraints, availability of the developer or tester etc. For a successful
planning, the question how to estimate software development time should be addressed efficiently.
The value of man-hour can be defined in two different ways:
Intermediate level: while defining man-hour, we were referring to average IT specialist which means an average
developer, average tester etc. The time it takes to complete a task will differ depending on the experience level of the
IT specialist working on the task. A junior developer will need time to figure out how to implement a solution when an
intermediate will implement it faster and in theory a senior level will be the fastest.
The average velocity of the team: this can be computed by dividing by the number of works the time they have spent
completing the tasks. In this case, a man-hour can be very different from a team to another depending on the
experience level of all the team members that form the development team.
Defining intermediate level can be difficult, even intermediate developers can have disparate velocity. This is why
sometimes basing estimation on team’s velocity can be a very good idea. This latter implies that we already know the
team members involved.
HOW TO ESTIMATE A SOFTWARE PROJECT?
Now that we have gained more understanding on man-hour at what it represents, we are going to see how to
estimate a software project and especially how to estimate a software project in man-hours.
When implementing a software project, there are several methodologies and good practices that development team
adopts. Agility was accepted as a good methodology to ensure the quality of delivery. Agile encourages the
involvement of the development team at its design stage and during the estimation of the loads.
Before we browse some software development project estimation techniques, let’s define some concepts we need to
better understand these techniques.
Backlog: A backlog is a group of tasks that need to be completed in order to complete a project.\
User story: A user story is a simple unit of tasks, it defines what needs to be done in order to achieve a specific
goal.
Story points: A story point is a unit of measure that translates the amount of work needed to complete a user
story.
With these definitions in mind, we are going to see how to provide estimates for software development?
Planning poker or Scrum poker
A planning poker is a practice introduced by Agile methodology. During a planning poker, when the project is broken
down into stories and everything is put in the backlog, the development team comes together to discuss the time
needed to complete the project based on stories in backlog.
The term poker may suggest gambling or a random estimation of a task. Actually, during a planning poker, those who
are going to realize the project will give their input on every task and discuss when estimations are very divergent.
Each member of the development team is given a card to express his perception of the complexity of each task.
Cards contain the value: 1, 2, 3, 5, 8, 13 they are akin to the Fibonacci suites, only we will have 20, 40 and 100
instead of 21, 34, 55 and three extra cards containing non-numeric value: the coffee card, the question mark card,
and the infinity card.
Developers will first agree on the simplest user story in the backlog, which will serve as a reference and will be
affected a story point value 1. Numbers that are closer to the value 1 express user stories that are simple and those
Guruignou.com
that move away from 1 have a higher complexity. Infinity defines a very complex user story that has a complexity
higher than 100. The question mark is used when the developer doesn’t know how to estimate the user story.
During a planning poker, tasks are not yet measured in man-hour or man-day; it is estimated in terms of story points.
Story points are computed using the average estimation given by the developers. At the end of the planning, we will
have the estimation of the whole project in terms of story points.
Now, from story point how to calculate man-hours for a software project? The simplest user story will be estimated in
man-hour so that when all the stories for the whole project will have their story points, man-hours for all the user
stories in the backlog will be computed as simple as the multiplication of the total points with the man-hour value of a
story point.
Experience-based estimation
Another approach consists of doing the estimation based on Similar Project the actual man-hours needed to
complete them and adapt to the context of the software project to estimate. At this point, it is important to evaluate the
complexity compared to the past projects taken as references. Once the complexity is defined, the actual man-hours
needed to complete the similar projects will be multiplied by the complexity factor.
Externalize estimation
If the person who is trying to do the estimation has not the required background or knowledge to perform the
estimation or is not familiar to how to estimate hours for a project, he can ask an external team. Since it is important
to have an accurate estimation.
There can be two different phases during which cost estimation is computed: first during the first discussion when
clients’ requirements are gathered. Then, after having a global idea of their needs, we do a first estimate. This
estimate is refined at a later stage when the development phase starts and we have a complete understanding of
what is going to be implemented. The more detailed the requirement is the more accurate is the estimate; it also
leads to a more detailed technical specification.
TOOLS FOR THE ESTIMATION
Now that we are aware of how to estimate a software project in man-hours, we are going to browse some tools used
during software development project estimation. We have already discussed earlier that it is important to break the
complex project into small tasks that are easier to estimate.
Cost Estimation Module for Easy Redmine: Easy Redmine is one of the most popular and widely used add-ons for
the Redmine. Worth to say that many users have never worked with pure Redmine apart from this redesigned
version. Easy Redine has very simple yet effective and easy to use Cost Estimation feature which allows users to
assign a cost or hourly rate for each task and thus see the final cost of each action performed by the development
team.
Ecosys Projects: it is a highly configurable excel-like solution for project estimation. The most important feature here
is the possibility for tracking changes made in the estimation tools, changes are versioned easily. It is able to not only
estimate projects in man-hours but can also provide the corresponding cost in other types of measure like currency.
Microsoft Excel: Excel is widely used for estimation process in software development. Excel can perform from a very
simple calculation to a complicated formula. Since estimation process can be improved based on past experience,
Excel estimation tools can be updated with lessons learned from past projects. You can first start with a very simple
sheet with few columns: one for tasks to estimate, one for each actor involved. For each task, you put the estimated
man-hours needed by the corresponding actor. You can start with an existing template and adapt it to your needs
instead of starting from scratch.
Guruignou.com
Disclaimer/Note:
These are just the sample of the answers/solutions to some of the questions given in
the Assignments. These sample answers are submitted by students / private tutors.
These sample answers may be seen as the Guide/Help for the reference to prepare the
answers of the questions given the assignment. Student should read and refer the
official study material provided by the university.
DRM Software Review