You are on page 1of 12

A CASE STUDY IN MEDICAL APPOINTMENT SYSTEM

2013300481
2013300383
2012302931

AN UNDERGRADUATE CASE STUDY SUBMITTED TO THE FACULTY OF THE


DEPARTMENT OF ACCOUNTANCY, COLLEGE OF BUSINESS AND
MANAGEMENT, CENTRAL MINDANAO UNIVERSITY, IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE

BACHELOR OF SCIENCE IN ACCOUNTANCY

OCTOBER 2017
SECTION A

A1.

a. Produce a context diagram of the Medical Appointment System


b. Produce a logical top level data diagram of the Medical Appointment System.

A2.

a. Explain the difference between a waterfall and an iterative/incremental SDLC. Illustrate


your answer with diagram.

Waterfall Iterative/Incremental SDLC

Definition The Waterfall Model is a linear sequential The iterative design is a design
(non-iterative/ non repetition) design methodology based on a repeated
approach for software development, in which process of prototyping, testing,
progress flowing in one direction downwards analyzing, and refining a product or
(like a waterfall) through the phases of process. Based on the results of testing
conception, initiation, analysis, design, the most recent iteration of a design,
construction, testing, deployment and changes and refinements are made.
maintenance.
Advantages Clear deadlines: Waterfalls static nature Formal review is created at the end of
and predictable workflow make it easy to each stage allowing maximum
estimate costs, create timelines, and stick to management control.
deadlines. This approach creates considerable
system documentation.
Disciplined by design: The team is forced
to complete all tasks before the project as a This documentation ensures that system
whole can proceed. requirements can be traced back to
stated business requirements.
Well-documented: This makes it easier to
follow the logic of past projects and lay the It produces many intermediate products
groundwork for future projects. that can be reviewed to see whether they
meet the users needs and conform to
standards.
Clear communication: Predictable
timelines and well-documented projects
make it easy to give status updates to upper
management, stakeholders, or clients.

Easy learning curve: Teams usually dont


require any prior knowledge or training in
order to start working on a project with the
Waterfall method.

Disadvantages Change can be costly: Testing occurs late What may be seen as a major problem
in the project life cycle, and if you find out for some, end-user does not see the
that your end users dont like the product solution until the system is almost
youre building, it can be too late to pivot. complete.

Slow delivery times: Stakeholders and Users get a system that meets the need
customers wont see a working product until as understood by the developers; this
late in the life cycle. may not be what was really needed for
them. There may be a loss in translation.
Gathering requirements too early is
risky: Customers and stakeholders often Documentation is expensive and time-
dont know what they really want until theyve consuming to create. It is also difficult to
had a chance to play with a working keep current. What may be current this
prototype month may not be the same this time
next year!
Tendency to neglect testing: Saving all the
testing for the end of a project can be risky, Users cannot easily review intermediate
because of the temptation to rush through it products and evaluate whether a
when theres a looming deadline. particular product meets their business
requirements.
Importance The waterfall model maintains that should If a business determines a change is
move to a phase only when its proceeding needed during any phase of the SDLC,
phase is completed and perfected. Phases the company might have to proceed
of application development in the waterfall through all the above life cycle phases
model are thus discrete, and there is no again. Even though some steps are
jumping back and forth or overlap between more difficult than others, none are to be
them. overlooked. An oversight could prevent
the entire system from functioning as
planned.

Waterfall Iterative
Quality Quality focus changes from Quality focus shifts between
Analysis>Design>Code>Test Analysis/Design phase to
coding/testing phase

Quality Control Detection & fixing during system Early detection & fixing in each
and regression testing at the last iteration for new features.
phase of the project Followed by regression testing.

Continual improvement Lessons learned from previous Lessons learned from previous
release implemented in next iteration implemented in next
release iteration

Risk No risk identification. Firefighting Risk identification & mitigation


during testing phase in development and testing
phase of each iteration

Postmortem/ After every release After every iteration/milestone


Retrospection
Customer At the end of the project At the end of every iteration
Feedback
b. Which approach would you use in developing a system for medical appointment
system? Justify your answer.

The approach that I would use is the Iterative design. This is because I believe
that there is always a room for improvement. Refining the system over and over again
makes it more reliable. In an Iterative design, they continually look and search for ways
to improve the system unlike the waterfall design.

A3.

a. A company has decided to purchase off the shelf software to handle financial aspects
of the business. Describe at least 10 general criteria that should be used to decide which
OTS is suitable to the entity.

1. Cost Theres no denying the importance of cost in buying


decision. However, costs should be seen in a broad
perspective, because low entry costs may well result in
higher total costs along the products life.
2. Ease of Use The software should have a friendly interface, & use of
features should be pretty much self-evident. The shorter
the learning curve training a new user, the better. The
software should also have the ability to easily fit into the
existing systems with which it will have to communicate.
3. Security Security is a top consideration because he software
company will likely be handling information critical to us
the business, financial or personal most especially in
medical records. We need to be well assured that our
data is safe & there are no risks of it being compromised.
4. Risk Exposure There are certain things about the software industry that a
buyer should be wary of. Examples are risk of
breakdowns, viruses, and losses of data.
5. Customer Service Every software has bugs. When it comes to purchasing
the right software for your company, you need to be
aware of the software companys procedures for fixing
those bugs when they arise. Understand how the issues
you may potential run into will be addressed. Make sure
that the company will address the problems that are
unique to your companys use of the software, and not
just the big problems that most of the softwares users
run into.
6. Quality Software functional quality reflects how well it complies
with or conforms to a given design, based on functional
requirements or specifications.
7. Adaptability An adaptable software system can tolerate changes in its
environment without external intervention.
8. Developers Integrity The vendor needs to be sized up before we even go on to
consider the software itself. Background is essential
because, unlike traditional companies, software
companies are often small, & often beyond national
boundaries. Since these companies would likely be
handling our sensitive data, we need to do a background
check.
9. Familiarity The familiarity of the software is another important
criterion. The software should keep with the basic layout
& navigation schemes we are used to. This makes for
quicker transition.
10. Features A feature is a distinctive characteristic of a good or
service that sets it apart from similar items. Advance
feature that would cater the need of the entity would give
greater advantage of the entity.

b. If no OTS software can be found that exactly matches the required criteria, what other options
does the company have to obtain suitable software?

If there is no off the shelf software, the other options the company have to obtain the
suitable software include Bespoke (custom-made) software and the hybrid solution. In bespoke
system, the system is especially made according to the specifications of the business. It is
advantageous in a way that the software is developed and built to tailor the specific needs of the
company, it is more flexible, it does not involve per user fees because the software is owned by
the company, thus not tied to any vendor and also the company has competitive advantage over
the competitors. However, customized software partakes higher initial cost and it takes longer to
develop.

Another option is the hybrid solution. The company needs to find an off-the-shelf
package that fits 80% of the requirements, and then have it customized to fit the other 20%. It
may be done by the original developer or by a third party, as long as it is customizable or open
source. This solution gives the best of both worlds cheaper and faster setup than fully bespoke
software, but a closer match to the requirements than plain off-the-shelf software.
SECTION B

B4.

a.
b.

B5.

a. Explain the following relationships between classes using examples from Medical
Appointment System.
i. Association

Association is a relationship between two objects. It can be one to one


association, one to many, or many to many. In the case, association exists between
doctors and patients. One patient can be associated with one doctor (one to one) or two
or more patients can be associated with one doctor (many to one).

ii. Aggregation or composition

An aggregation is a special type of association where all objects have their own
life cycle. It also means that one object can survive without the existence of the other.
Example for this one is the object of class prescription. Prescriptions do always have
header. However, if we remove the header, prescription still exists and vice versa. In this
case, both of them has separate life cycle.

Composition is more restrictive than aggregation, which the child object does not
have its own life cycle or a complete opposite of aggregation. Example for this one is the
number of prescription lines in a prescription. In this case, if we delete the prescription,
prescription lines will then be automatically deleted.

iii. Generalization/Inheritance

Super class can be created from two or more objects with similar or common
characteristics and combine them. This process is called generalization or inheritance. It
also means that two or more objects have a relationship with each other. Example would
be the Patients class, which has two concrete and identifiable subclasses which is fully
registered patients and the visiting patients. The two subclasses has same common
characteristics which meet the requirement of Patients class namely, patient name,
patient address, and patient date of birth.

b. Explain briefly how you would map an inheritance hierarchy in class diagram to relational
database tables. Consider THREE possible approaches.

The three possible approaches may be:


1. Using one data entity per class

Using this approach, you create table per class, the attributes of which are the
OID and the attributes that are specific to that class. Every class /subclass that
declares persistent properties-including abstract classes-has its own table. The table
for subclasses contains columns only for each non-inherited property along with the
primary key that is also a foreign key of the base class table. This approach
conforms best to object-oriented concepts. It supports polymorphism very well as
you merely have records in the appropriate tables for each role that an object might
have. It is also very easy to modify subclasses because you merely need to modify
or add one table.

2. Using one data entity for an entire class hierarchy

Using this approach, you will map an entire class hierarchy into one data entity,
where all the attributes of all classes in the hierarchy are stored. This approach is
simple, that polymorphism is supported when a person changes roles, and that ad
hoc a person changes roles, and that ad hoc reporting is also very easy with this
approach because all of the personal data you need is found in one table.

3. Using one data entity per concrete class

Using this approach, each data entity includes both the attributes and the inheritd
attributes of the class that it represents. This approach is still fairly easy to perform
ad hoc reporting, given that all the data you need about a single class is stored only
in one table.
B6.

a. Give a brief explanation of object interaction and collaboration in object oriented


systems. Describe similarities and differences between sequence and communication
collaboration diagrams.

Object-oriented design is a design strategy where system designer think in terms of things
instead of operations or functions. Rather than a program being designed as a set of functions
that interchange data through their parameters and through a shared memory, an object-
oriented program is made up of interacting objects. In an object-oriented design, a software
system is designed to as a set of interacting objects that manage their own private state and
offer services to other objects. Objects are created by instantiating an object class that defines
the attributes and operations associated with the objects.

Sequence diagram and communication diagram are two more specialized UML diagram.
Both of them can express similar interactions. Sequence diagram illustrates interactions in kind
of fence format, in which each new object is added to the right like building a fence.
Communications diagrams illustrate object interactions in a graph or network format, in which
objects can be placed anywhere. The objects in this diagram are scattered.

However, sequence diagrams have some advantages over communication diagrams.


First is that, the UML specification is more sequence diagram centric, it is more understandable
and easy to analyze since the new objects are just putted to the right side. It also has more
thought and effort. In addition, it is also easier to see the call-flow sequence with sequence
diagram since you can only read it from top to bottom or left to right.

Below is a summary of strengths and weaknesses of both types of diagrams.

Type of Diagrams Strengths Weaknesses


Sequence Diagram Clearly shows ordering of Forced to extend to the right
message when adding new objects.
Communication Diagram Flexibility to add new objects More difficult to see sequence
b. Produce a sequence diagram for the use case check in in the medical appointment
system.
c.

You might also like