You are on page 1of 4

System Analysis and Design Solution Template

Academic year and term:


System Analysis and Design
Module title:
QAC020C154S
Module code:

Module Convener: Ifeoluwa Agboola

Module Tutor:

Student Id:

Deadline:
Coursework 2: Review and Evaluation

Remember to cite and reference your work properly.

1
Identify the scope of the project and explain your role as a system analyst in context of
the system you designed in first assignment. Explain how did you use the OO approach in
designing the system and clarify the benefits of using the relevant UML diagrams in your
design. Remember to address the advantages and disadvantage of OO paradigm and give
examples as appropriate and cite your work properly. (500 words)

Scope
This project is providing a software program that is able to book appointments for the
patients with doctors. Using this program, a patient can book an appointment with a
doctor who is having a free slot. This program is able to check the availability of the slots
as well. Once the slot is available, the patient pays for the appointment and confirm the
booking of the appointment. There is also the choice for the patients to either update or
delete the appointment for some reasons. The updating of appointment is linked with the
administrative staff. The administrative staff also deals with the slots and scheduling of
doctors. Using this program, the managers deal with the logistics of the clinic as well as
the calculation and distribution of the required tools and equipment for the clinic. This
whole system also deals with database of patients’ treatment history, their payments,
their booking history and the balance of the patients as well. Each of them is given with a
unique log in account where they can use the services of this program based on their
requirements.

Object-Oriented approach in designing the system


For designing a system, we can go for the approach based on OO paradigm. The purpose
of the system, we have designed, is to book appointments by patients. To book
appointment, we have a class named ‘Booking’. In this class, we have encapsulated
attributes. The classes of ‘Doctors’, ‘Patients’, and ‘Administrative staff’ are linked with
this ‘Booking’ class. The attributes of this class are also encapsulated. The class
‘administrative staff’ is also dealing with the class ‘schedule’. This ‘schedule’ class is in
relationship with that ‘Booking’ class. The relationship is of aggregation in which the
‘schedule’ class and the ‘booking’ class are existing independently. The same relationship
of aggregation can be seen in the ‘history’ class and the ‘booking’ class as well as in the
‘payment’ class and the ‘history’ class. There is a composition relationship between the
classes as well. This composition relationship is existing between the class ‘Booking’ and
the ‘payment’ class. Because of this composition relationship, the ‘payment’ class can
only exist if the ‘booking’ class is existing. Other than these classes, there are two classes
in the system as well. In these classes, there is a class ‘logistics and equipment’ and this is
managed by the class ‘Manager’. The attributes of these classes are also encapsulated. In
this way, we are using the concept of OO paradigm such as classes, objects, association
and encapsulation. There are some other concepts as well such as inheritance, interface,
abstraction, and polymorphism which are used to design a program based on OO
approach.

Benefits of UML diagrams


UML diagrams are very beneficial. Before practical implementation, we can get a proper
design of the system using UML diagrams. Due to this, we can reduce the costs for the
developments. It is easier to modify and maintain the program because of the already
designed UML diagrams. In this way, this helps in reducing the cost of maintenance as

2
well. Other than this, it is helpful to reduce the time to develop the program.

Advantages of OO approach
There are many advantages of OO approach such as with this approach we can reuse the
attributes and methods of the generalized class. We can maintain our program easily. The
structure for the programming will be clear. This would be easy for the programmer to
test the code.

Disadvantage of OO approach
The disadvantages of using OO approach are including the fact that the size of the
program will be increased. Due to increase in size, there will be a slower execution of the
program. OO approach is not always simple, it can become trickier as well, sometimes.
The proper design is required before the beginning of development of the program.

Suggest a suitable Software Development Methodology to use to develop the system you
designed? List the key lessons you learned from this project. Clarify what would you do
differently if you repeat it and how you can improve the areas which did not go well.
Remember to justify your answers (500 words)

Software development methodology


For proper development of the program, it is important to go for the right software
development methodology. There are many software development methodologies that
can be kept in view for proper development of this program. In my views, waterfall can be
a better approach to use as a software development methodology.
Waterfall is used because of the following reasons
 System requirements are understood, fixed and clear.
 Product definition is clear.
 The used technology is clear.
 Easy to arrange the task.
 Sequential completion of the tasks.
 Future modifications are not expected.

Key lessons
Key lessons to learn from this project are related to UML diagrams and OO approach. This
project is giving the lessons about the documentation and designing process in the field of
software engineering. This is giving a lesson of use of UML diagrams to design better
documentation of a software. Each UML diagram is having its own uses and importance.
For example, activity diagram is showing the flow of activities or process of the system.
Other UML diagrams were showing their own importance while documenting a software.
This project is showing the importance of OO paradigm in designing and development
process of a software. The project also helped in learning how to understand the
requirements of a system. This project is giving a deep learning on understanding a
client’s imagination about a product. In this way, there were many important lessons to
be learnt from this project that are practically helpful in the field of software engineering.

Areas to Improve

3
This project can be improved by improving the understandability of the requirements of
the scenario. In my view, the used concepts of the UML diagrams are fine, but the
problem can be in understanding the submodules and then representing the exact right
requirements in the UML diagrams. I expect some problems in use case diagram and
collaboration diagram, which can be improved. Diagrams can be designed better
graphically, for instance, with the use of colours. In class diagram, the identification of
classes, their relationships and the explanation of classes and their relationship can be
improved as well. These are some improvements which can be made if I do the same
project again.
References

1. W3computing.com. 2020. The Importance Of Using UML For Modeling. [online]


Available at: <https://www.w3computing.com/systemsanalysis/importance-using-
uml-modeling/> [Accessed 25 March 2020].

2. Intellectsoft Blog. 2020. Top 12 Software Development Methodologies. [online]


Available at: <https://www.intellectsoft.net/blog/top-12-software-development-
methodologies-you-should-know/> [Accessed 25 March 2020].

3. GeeksforGeeks. 2020. Oops | Object Oriented Design - Geeksforgeeks. [online]


Available at: <https://www.geeksforgeeks.org/oops-object-oriented-design/>
[Accessed 25 March 2020].

You might also like