guruignou.com course code : bcs-051 course title : last date of … · 2019-09-04 · guruignou.com...

15
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.

Upload: others

Post on 09-Apr-2020

2 views

Category:

Documents


0 download

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

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