s
Object Orietend Programming and Modelling
Assignment
Contents
1. Proposed Methodology..........................................................................................................2
2. Use Case Diagram..................................................................................................................4
3. Class Diagram........................................................................................................................6
4. Sequence Diagram.................................................................................................................8
5. Reflective Report...............................................................................................................9
References................................................................................................................................12
Figure 1: UML Case Diagram....................................................................................................4
Figure 2: Class Diagram.............................................................................................................6
Figure 3: Sequence Diagram......................................................................................................8
Figure 4: Course Completion Evidence.....................................................................................9
1
1. Proposed Methodology
Suggested Methodology: Unified Process (UP)
The requirements of the Oasis Mental Wellness Therapy Centre’s online system perfectly
align with the iterative, incremental, and object-oriented software development that the
Unified process provides. Unlike Waterfall or Spiral, UP offers a more use case-driven
design, an architecture-centered development, and flexibility that makes it a perfect choice
for building complex systems (Hao, 2019).
Comparison with Traditional Methodologies
Structured and linear, the Waterfall model has no flexibility; all requirements must be settled
and development must commence from the first. However, the Oasis system has already
proven to have evolving needs such as personalized notifications or therapist
recommendations, which this approach would not be able to account for. The spiral model
provides iterative development and risk analysis, but that's only part of the story; it's not
strong enough regarding object-oriented principles and architectural design, which are key to
developing scalable systems. On the other hand, UP propagates iterative development and
uses case-based modeling and an architecture-centered approach for adaptability and system
robustness (Shafiee, 2020).
Stages of Unified Process (UP)
1. Inception Stage
The focus of this phase is how to understand the project scope and how to devise the
high-level requirements for a project. Stakeholder requirements (e.g. client
registration, appointment management) and key use cases (e.g. scheduling,
notifications) are gathered and key activity areas are identified. The risk of assessing
is to know that sensitive client data can be handled securely (Hodijah, 2018).
2. Elaboration Stage
This refinement is of the architecture and use cases to provide a rock-solid foundation
for development. Some activities include designing detailed UML diagrams such as
use case diagrams for appointment booking, and prototyping high-risk components
such as secure notifications. This phase of the Oasis system is to provide well-defined
critical requirements such as service accessibility and therapist availability (Pinciroli,
2022).
3. Construction Stage
Building and integrating system components incrementally is the development phase.
First, it builds out high-priority features like user registration and scheduling and then
proceeds to add on more modules such as feedback management. The functionality of
and integration across the components is done through continuous testing (Alsudairi,
2020).
4. Transition Stage
User testing and feedback are deployed for the system. Therapist and admin training
helps adoption be smooth and the feedback is used to improve features. In the case of
2
the Oasis system that includes the deployment of the appointment scheduling and
report generation modules.
Justification for Unified Process
UP’s use case-driven design protects functionality from being mismatched with user needs
like scheduling and notifications. It’s a scalable and secure architecture-centered approach
backed by an iterative development that accommodates feature changes in user requirements.
Through UP, the Oasis system will be robust, adaptable, and user-friendly, providing an easy
and pleasant client experience.
3
2. Use Case Diagram
Figure 1: UML Case Diagram
4
The Mental Wellness Therapy Centre System has its use case diagram which depicts the
interactions of the system actors with the core functionalities of the system. The system is
made of the Client, Therapist, Administrator, and an automated Notification System as the
primary actors. The roles of each actor in the system are distinct. They can register or sign in
to book, cancel, or reschedule appointments, manage their profile, browse services, and leave
reviews about therapists and services. This process is supported by the Notification System,
when confirmation emails, reminders, and updates are sent. Schedules, client profiles, session
notes, and group session recommendations, are all accessible by therapists. System data is
managed by administrators like therapist profiles, service schedules, and client feedback, and
generates reports on how these usage reports can be examined.
It depicts the ties among use cases, for instance, extensions and dependencies. For example,
the "Book Appointment" use case uses "Receive Notifications" to make sure that both
therapists and clients get to know about an appointment, and we add “Cancel Appointment”
and “Reschedule Appointment” to the extends to be flexible. "Register/Login" here also
refers to "Manage Profile," which means that the register or login means profile management.
The use case diagram presents the system as a whole with the actors and their interaction with
the system’s system features, giving a clear idea of the system architecture plus functionality
and hence completeness of needs of all stakeholders.
5
3. Class Diagram
Figure 2: Class Diagram
The class diagram for the Mental Wellness Therapy Centre System highlights the
relationships and functionalities of three key classes: Appointment, Therapist, and Client. It
approaches each class as encapsulating some specific attributes with some specific methods,
which improves the modularity and makes the structure object-oriented. The system users
here will be the Client class that allows them to register, log in, manage profiles, make
bookings, and write reviews. Methods like bookAppointment() and leaveReview() tackle
client-specific activities, while attributes such as clientID, name, and preferences are
included.
6
The Therapist class represents mental health professionals, how to schedule themselves to
have availability, and how to interact with, the Clients. TherapistID, specialization, and
availability are used to allow therapists to see any schedules as well as update session notes.
Recommend methods such as recommendWorkshop are supporting that kind of personalized
client care.
The Appointment class joins clients and therapists. It has two attributes (appointment and
date), status. It contains its methods, such as (scheduling and rescheduling). Relationships
between classes are well-defined: Appointment class is used to connect Clients and
Therapists, but a single client or therapist can have multiple appointments (1-to-many
relationships).
This enables scalability, with the possibility of keeping in sync with multiple clients and
therapists and keeping the structure organized for appointments taking place in sync with an
ordered system that is more usable and efficient.
7
4. Sequence Diagram
Figure 3: Sequence Diagram
For the appointment booking sub-scenario, starting from this sequence diagram, the Client
sends a request to the System to search for therapists according to particular criteria. Upon
this, the Client sends a booking request as per the selected therapist, date, and time, and the
System then responds with a list of available therapists, chosen one by the Client, and sends a
booking request to a chosen therapist. This request is processed by the System, a Booking is
confirmed and confirmation details are forwarded to the Notification System.
Upon confirmation, the Notification System directly sends that confirmation to the Client via
email or SMS. This direct communication with the Client means that within the System there
is no routing through the System to get the Client feedback about their booking. And this
Notification system will be handled to send notifications automatically independently, which
will help streamline the workflow. However, this interaction guarantees that the Client is
informed instantly whereas the System and the Notification System function together to
ensure operations do not become spotty. This approach improves user experience as well as
system reliability.
8
5. Reflective Report
In "Introduction to Object-Oriented Modelling and Design", the course covered in detail the
UML (Unified Modeling Language) and its usage in creating object-oriented system design.
Its goal was to train the learners with the skills to visualize, specify, and document system
architectures using UML diagrams efficiently.
Topics covered in this course included modeling basics, OMT (Object Modelling Technique),
conceptual models of UML, and the relationships of UML diagrams. The detailed explanation
of UML diagram type syntax was probably the highlight for me: use case diagrams, class
diagrams, sequence diagrams, etc. Tools of representation of different perspectives of a
system are also able to create more effective communication with stakeholders.
In this course, I learned how to model real-world scenarios using UML. I found that the
examples that illustrate how to use case diagrams to help define the system requirements and
how class diagrams define system structure were particularly useful. Sequence diagrams
showed me how the objects in a system interrelate dynamically.
Overall, this course helped to bolster my common sense understanding of how to practice
object-oriented modeling principles. Using UML for system analysis and design makes me
feel more confident and I think this will come in handy to solve complex projects in the
future.
9
Figure 4: Course Completion Evidence
10
11
References
Alsudairi, A. A. (2020). Conceptual Framework of an Object-Oriented Simulation
Approach for Building Construction Processes. Arabian Journal for Science and
Engineering, 45(10), 7955-7965.
Hao, L., Zhang, J., & Ma, X. (2019, July). Development trend of software process
model. In IOP Conference Series: Materials Science and Engineering (Vol. 569, No. 5, p.
052077). IOP Publishing.
Hodijah, A. (2018, September). Analysis Service Engineering Development Lifecycle:
an Object-Oriented Approach. In Journal of Physics: Conference Series (Vol. 1090, No. 1, p.
012020). IOP Publishing.
Pinciroli, F., Justo, J. L. B., & Forradellas, R. (2022). Systematic mapping study: On
the coverage of aspect-oriented methodologies for the early phases of the software
development life cycle. Journal of King Saud University-Computer and Information
Sciences, 34(6), 2883-2896.
Shafiee, S., Wautelet, Y., Hvam, L., Sandrin, E., & Forza, C. (2020). Scrum versus
Rational Unified Process in facing the main challenges of product configuration systems
development. Journal of Systems and Software, 170, 110732.
12