Virtual Clinic - Project Proposal - Software Crisis

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Name Register No Phone No Email-ID

Mishal Shah 16CO125 9725801399 [email protected]

Samyak Jain 16CO254 9818099551 [email protected]

Title of the Problem: Virtual Clinic- Integrated Care System

Brief Narration of Problem as viewed by you:

Our team has been contracted to develop software to streamline the health​care process for
hospitals and patients across the country. This is with an aim to improve the
primary “Patient Care” by leveraging IT Tools and techniques to facilitate Online
Consultation and receipt of Medicines and Lab Specimen collection at home, thereby taking
the Patient Care to the Patient’ Door Step, hence the name “Virtual Clinic”. At its core, Virtual
Clinic is an Integrated Patient Management System meant to enable hospitals to manage
both employees (Doctors), patients and an extended ecosystem of Pharmacies and
Laboratories.

The successful implementation should make it easy for users to effortlessly sign up as
patients so that the hospital can, without difficulty, manage their procedures and patient
related tasks to optimize day​to​day work​flow. Further it will provide quality medicines vide
authorized Pharmacies at the doorstep at discounted prices, also have a facility to collect
Lab specimens vide Authorized (reliable and certified) labs at discounted prices.

The product is intended to improve hospitals by providing an easy mechanism for managing
employees, signing up/registering patients,facilitating Online consultation in time-bound manner,
making appointments, allowing ease of transfer of both patients and their information between
hospitals, and making reports/receipts generation easier and faster.

We want a product whose emphasis is on ease of use, whose navigation is


straightforward and where the status of any, and all, information shown is clearly
displayed. Ultimately, a system where understanding and communication about hospital
and patient matters is improved.The system is supposed to be available 24/7 with defined
service levels for each and every service request i.e. Consultation or receipt of medicines
Brief Work Envisaged by you in SW.Engg Lab for the proposed problem:

● We envisage to execute the project in SW Engineering Lab as follows:


1. Study the Software Development Life Cycle Processes and identify the right
“SDLC” process for the above. Choose between Waterfall and Agile
2. Define an Overall Software Project Plan clearly defining the Phases, duration and
tasks. Estimate the size, if the size is larger than the timeline available then we
will scale down the Size to ensure that we will be able to complete all phases of
the project in the stipulated time frame
3. Develop Context diagrams, dataflow diagrams, ER diagrams. To achieve this we
would need to research the tools to make the diagrams. E.g. smart draw,
ERDplus, lucid draw.
4. Develop Functional Requirement Specifications and Software Requirement
Specifications (should cover both functional and non-functional requirements) –
we will also develop User Interface Specifications (Screens and Reports)
5. Develop High Level Design comprising of Database Design – based on ERD,
Identify Programs (both Online and Batch). Identify the tools required. Trace the
Design back to requirements to ensure completeness and correctness
6. Develop Low Level Design – Build algorithms/ Program Specifications for the
Programs. Set up development environment
7. Construct and Unit Test the programs
8. Perform System and Integration Testing, do basic performance testing
(Concurrent users testing). Fix Bugs and retest the system. Trace the tested
system back to requirements to ensure completeness of system
9. Build an installation and user manual
10. Demonstrate the System to and take feedback
11. Develop lessons learnt document for future learning
12. In all the above, we will review the progress periodically with Sir and TA to get
guidance and early feedback.

P.S. The project has been inspired by recent developments by Government’ of developed
countries to leveraging advanced IT Systems (IOT based) to improve Citizen Health Care
Programs especially aimed at Elderly and people with Special Abilities. In India a similar
concept can be used to extend the scope of primary Health Care Services to larger masses.
PART I - Software Crisis
========================================================================
Case 1: lmagine that your software has failed at the customer's site. List out the possible
reasons for failure and write possible solutions.
========================================================================

Reason 1​ – ​System Software Incompatibility


● During Installation phase, it was found that the production machine had different
version of Operating system software than the development machine – Software
Incompatibility meant that the application software could not be compiled on the
production machine. It meant that software developers needed to do rework.
Solution 1
● The reasons for Incompatibility need to be analysed and fixed. This may mean
introducing new software libraries, using a different version of system software to resolve
incompatibility issues. It may or may not need modifications to the software developed.

Reason 2 – Capacity /Sizing Issue


● During Installation phase, it was found that the production machine did not have
enough space to create the Databases. Databases were made for doctors, patients and
consultation. Additional databases like prescription, chemist and lab tests meant more
space. Earlier 10GB was allotted but now 70GB was required.
Solution 2
● The solution of this problem could be purchase of additional memory from the market to
support additional databases that have come into existence. Thus, expanding the
memory and meeting the requirement need.

Reason 3 – Quality Issue


● During User Acceptance Testing a large number of high severity functional errors were
pointed out by Business Users. Data about doctors and their speciality got jumbled up
and it meant consultation requests reached wrong doctors. Moreover, prescription also
got mixed which meant wrong prescription and diagnosis was done for a particular
patient.
Solution 3
● The Application Software bugs need to be fixed in the programs and the databases
and the testing repeated – this essentially means that Unit testing and System Testing
would need to be repeated again to ensure that the software functions as intended.

Reason 4: Requirements Stability Issue


● During user acceptance testing business users stated that the Business rules had
changed and that a few more revisions were required to make the application software.
New requirements such as delivery by chemist and lab tests meant that software had to
have additional features to accommodate it in the software.
Solution 4
● To implement new requirements either additional programs need to be developed or the
existing logic in the programs have to be revised to cater to new requirements – This
essentially means revisiting all the phases i.e. Requirements, design, construction and
unit testing and system Testing. If the requirements are critical for going live, it means
that the implementation would need to be delayed. If they are non-critical, it is possible
that the system gets rolled-out with current functionality and the new functionality is
delivered in a subsequent phase.

Reason 5: Non-Functional Requirements failure


● During user acceptance testing, the application failed to scale-to desired number of
concurrent users and/ or the response times became unacceptable.
Solution 5:
● The design and/or programs that are failing to give the desired throughput would need to
be fixed and retested to ensure that they are correct both from a functional and
non-functional perspective. In some scenarios indexing and/or partitioning database can
also help scale-up the application and get desired response time. In an extreme
scenario, additional hardware may need to be procured to provide adequate load
balancing.

===========================================================================
Case 2: lmagine that your software is not delivered to the customer on the given time
And customer is willing to cancel the project. List out the possible reasons for delay in
development and write some possible efforts that you would make to convince the
customer in order to retain the project.
========================================================================

Possible reasons for delay: There can be multiple reasons why a project got delayed during
development and it is suggested that a detailed root cause analysis be performed to ascertain
the exact reason, at a macro level the reasons could be:
a) ​Due to the company that developed the software
● Design team misunderstood the requirement and thus made incorrect design. And thus,
more time was required to correct it.
● At the end of System Design, it was realized that the size and complexity was far more
than what was estimated earlier.
● During Construction Phase, a key resource of the project team felt sick and couldn’t work
on project for a few weeks.
● During System and Integration Testing a large number of bugs were found – this meant
that code had to be revisited and corrected.
● During performance testing phase – the software failed to scale up to non-functional
requirements i.e. Failed in load testing or the response was slower than anticipated or
failed on sustained load after a few hours.
b) ​Due to business users/ Customers themselves
● During Requirements elicitation a key Business User could not devote time and provided
delayed inputs.
● During Requirements Specification Review with Business Users a number of
requirements (30%) were found to be ‘Incorrect’ {Interpretation Issue’}.
● During Requirements Specification Review the Business Users that Requirements were
“incomplete” and needed to include additional functionality.
● During User Acceptance Testing the users failed to provide adequate time and effort to
test the system.

c) ​Due to other unforeseen reasons


● The project sponsored resigned or moved out of the project – this meant that the project
team ha no leadership for a sustained project duration
● Initially identified chemists and labs refused to accept the software proposition, so a new
set of Chemists and Labs had to be identified
● Survey carried out by the Hospital authorities to gauge receptivity of such a solution
received mixed response and the response meant that significant changes were
required to make the software usable

Efforts to convince and retain the project:

If the delay is due to the company that developed software – then the following options can be
considered:
a) ​Articulate to Business sponsor with data the reasons for delay and provide at least 2-3
revised timeline plan options for making the software live – also offer a plan to ramp-up the
resources (if required) to speed-up development and testing – This can be offered at no extra
expense to the Client thereby ensuring that the cost spillage is contained and borne by the
vendor. As an option, we can use divide and conquer approach – the software can be deployed
with reduced size and scope i.e. Salvage the efforts put in so far by leveraging software
developed and ready to go-live. If the delay is due to non-functional requirements being unmet
then implementation with a pilot set of users can be proposed as an interim measure to be
followed by a full rollout in future or a rollout on advanced (hardware) capacity as an interim
measure can also be considered

If the delay is due to business users, change of sponsor or the need to change the requirements
at a late stage in the development cycle, then the following options can be used to convince and
salvage the project:
a)​ Articulate to Business sponsor with data the reasons for delay and provide a revised timeline
plan for making the software live – this may also need extra cost to be approved. It is important
to impress on the Business sponsor the key benefits of the project and the fact that cancellation
may lead to no return on investment whereas an attempt should be made to recover the
investments at the minimum
b)​ As an option, we can use divide and conquer approach – the software can be deployed with
reduced size and scope i.e. Salvage the efforts put in so far by leveraging software developed
and ready to go-live
c) ​if the reason for delay is new requirements coming at later stage, then an approach of going
live with current software as an interim measure to be replaced by full functionality in a defined
time frame can also be considered.

If the delay is due to unforeseen reasons then the following options can be used:
Articulate to Business sponsor with data the reasons for delay and provide alternate approaches
to resolve the unforeseen reasons – In this scenario both the Vendor and Clients need to jointly
work together and craft a win-win solution.

In all the scenarios, an attempt should be made to salvage the project and protect the
investments made for future return of investments. In the process
a)​ Reduced Scope (Software size, complexity) can be considered
b)​ Going live incrementally can be considered
c)​ An interim solution can be considered.
PART ll - Context Diagram, Data Flow Diagram and ER-Diagram
========================================================================
1) Draw a context diagram for your problem statement.
========================================================================

========================================================================
2) lmagine that you have recruited a fresh graduate to draw Data flow diagram for
your problem statement. List out minimum five possible errors he / she may make
while drawing the data flow diagram and explain it with a clear pictorial
representations.
========================================================================

The following errors can be present in the data flow diagram:

1. when 2 external agents are connected together.


In correct DFD they should be connected via process.
2. When a database is directly connected to the external agent

3. When 2 databases are directly connected

4.When data flow is not mentioned


5) When reading from write only database or writing to a readonly database

========================================================================
3)​ Construct an ER-diagram for your problem statement. lmagine that customer
Is changing his / her requirements after two or three days which may result in adding
new entities or updating the existing entities. At this situation, you are instructed to
Draw a new ER-diagram. List out the possible change in requirements and
corresponding changes to be made in the ER diagram (entities and relationships).
========================================================================

The following diagram was made as per customer requirements


Later customer changed its requirement and wanted to add additional features such as:

● Wanted to give an onsite(appointment) feature to patient so that they can meet the doctor.
● Wanted Chemists to be added so that medicines could be delivered to customer via the
help of the software.
● Wanted Lab requests to be added to the existing software to integrate the complete
system.
The new ER Diagram looks as follow

You might also like