guruignou.com course code : bcs-051 course title : last date of … · 2019-09-04 · guruignou.com...
TRANSCRIPT
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
Hospital
Management
System
Front Desk Staff Doctor/Nurse
Management Information System
Patient Details
Assign ID
Reports Information
Patient ID
Doctor Schedule
Doctor/Nurse Information
Updated Wards Details
Wards Details
1 LEVEL DFD
Guruignou.com
Registration
0.1
Consultation
0.2
Medical Matter
Management
0.3
Report Generation
0.4
Check-Out
0.5
Patients
Details
Doctors
Details
Payment
DetailsWard Details
Assign Doctor/Nurse
Patient Details
Patient ID
Patient ID
Patient ID
Reports
Details
Update Reports
Patient ID
2 Level DFD
Guruignou.com
Doctor Assign
Checkout
Request
Update
ward
Update
Patient
Details
Account
Process
Patient ID
Checkout
Details
Ward
Details
Patient
Details
2 LEVEL DFD
Guruignou.com
Add
PatientsPatient Details
Check
Prehistory
Patient
Details
ID Assigned
Update
Prehistory
Prehistory
Details
Guruignou.com
System
Front Desk Staff
Admission
Doctor Appointments
Test Appointments
Visiting Doctors
InHouse Doctors
Doctors
«extends»
«extends»
Nurses
Login
Income
Bed Allocation
Undergo Operation
«extends»
«extends»
Draw Salary
Prescribe Tests Record System
Add Dortor/Staff
Delete Doctor/Staff
Edit Doctor/Staff
Information system
Ward/Bed Status
Admission/
Discharge Reports
Patient Information
Finance Management System
Expendlture
«extends»
«extends»
USE CASE:
Guruignou.com
+Create() : int
+Inpatient() : bool
+IsPatient() : int
-id : int
-name : char
-age : int
-sex : char
-appdate : Date
Patient
+Register() : int
+AllotBed() : void
Registration
+BedStatus() : int
+GetName() : char
-wardno : int
-nobeds : int
-*name : char
Ward
1
1
+AddDoctor() : int
+AddStaff() : int
+DelDoctor() : void
+DelStaff() : void
+Editdocot() : void
+EditStaff() : void
edit
+dt : Date
+tm : Date
Appointment
+AddTestCharges() : float
+AddOprCharges() : float
+AddApptCharges() : float
+AddWardCharges() : float
-amt : float
-billno : int
Income
+OpAppt() : void
+TestAppt() : void
+DocAppt() : void
+GetTests() : int
+GetOper() : int
-PatientId : int
-Id : int
-flag : int
Test Operation
+DispWardStatus() : void
+DispAddisReport() : void
+DispPatInfo() : void
Reports
+GiveSalary() : void
+amt : float
+billno : int
Expenditure
+DrawSalary() : void
-id : int
-name : char
-age : int
-sex : char
-salary : float
DoctorStaff
1
1
1 1
1
1
1..*
1
1
1..*
1
1
1..*
1
CLASS DIAGRAM:
1
1
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