Object-oriented analysis and design (OOAD): Beginners guide.
INTRODUCTION TO OBJECT ORIENTATION
Object Orientation is a term used to describe the object – oriented(OO) method of building software. In an OO approach, the data is treated as the most important element and it cannot flow freely around the system. Restrictions are placed on the number of units that can manipulate the data. This approach binds the data and the methods that will manipulate the data closely and prevents the data from being inadvertently modified.
GET INSTANT HELP FROM EXPERTS!
- Looking for any kind of help on your academic work (essay, assignment, project)?
- Want us to review, proofread or tidy up your work?
- Want a helping hand so that you can focus on the more important tasks?
Hire us as project guide/assistant. Contact us for more information
The ‘object’ forms the basis around which the following properties revolve:
1. Encapsulation
2. Abstraction, Implementation Hiding
3. Inheritance, dynamic binding, polymorphism
4. Overriding and overloading
Encapsulation:
In Object Orientation, a class is used as a unit to group related attributes and operations together. The outside world can interact with the data stored in the variables that represent the attributes of the class only through the operations of that class. Thus, the operations act as interfaces of the object of the class with the outside world.
For example, consider the class Employee with attributes empID, empName and dateOfJoining with is given below
What is OOAD?
Object-oriented analysis and design (OOAD) is a software engineering approach that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterised by its class, its state (data elements), and its behavior. Various models can be created to show the static structure, dynamic behavior, and run-time deployment of these collaborating objects. There are a number of different notations for representing these models, such as the Unified Modeling Language (UML).
Object-oriented analysis (OOA) applies object-modelling techniques to analyze the functional requirements for a system. Object-oriented design (OOD) elaborates the analysis models to produce implementation specifications. OOA focuses on what the system does, OOD on how the system does it.
Object-oriented systems
An object-oriented system is composed of objects. The behavior of the system results from the collaboration of those objects. Collaboration between objects involves them sending messages to each other. Sending a message differs from calling a function in that when a target object receives a message, it itself decides what function to carry out to service that message. The same message may be implemented by many different functions, the one selected depending on the state of the target object.
The implementation of “message sending” varies depending on the architecture of the system being modeled, and the location of the objects being communicated with.
Object-oriented analysis
Object-oriented analysis (OOA) looks at the problem domain, with the aim of producing a conceptual model of the information that exists in the area being analyzed. Analysis models do not consider any implementation constraints that might exist, such as concurrency, distribution, persistence, or how the system is to be built. Implementation constraints are dealt during object-oriented design (OOD). Analysis is done before the Design.
The sources for the analysis can be a written requirements statement, a formal vision document, interviews with stakeholders or other interested parties. A system may be divided into multiple domains, representing different business, technological, or other areas of interest, each of which are analyzed separately.
The result of object-oriented analysis is a description of what the system is functionally required to do, in the form of a conceptual model. That will typically be presented as a set of use cases, one or more UML class diagrams, and a number of interaction diagrams. It may also include some kind of user interface mock-up. The purpose of object oriented analysis is to develop a model that describes computer software as it works to satisfy a set of customer defined requirements.
Object-oriented design
Object-oriented design (OOD) transforms the conceptual model produced in object-oriented analysis to take account of the constraints imposed by the chosen architecture and any non-functional – technological or environmental – constraints, such as transaction throughput, response time, run-time platform, development environment, or programming language.
The concepts in the analysis model are mapped onto implementation classes and interfaces. The result is a model of the solution domain, a detailed description of how the system is to be built.
What is UML?
Unified Modelling Language (UML) is the set of notations,models and diagrams used when developing object-oriented (OO) systems. UML is the industry standard OO visual modelling language. The latest version is UML 1.4 and was formed from the coming together of three leading software methodologists; Booch, Jacobson and Rumbaugh. UML allows the analyst ways of describing structure, behaviour of significant parts of system and their relationships.
Unified Modeling Language (UML) is a standardized general-purpose modeling language in the field of software engineering. The standard is managed, and was created by, the Object Management Group. UML includes a set of graphic notation techniques to create visual models of software-intensive systems.
The Unified Modeling Language is commonly used to visualize and construct systems which are software intensive. Because software has become much more complex in recent years, developers are finding it more challenging to build complex applications within short time periods.
Even when they do, these software applications are often filled with bugs, and it can take programmers weeks to find and fix them. This is time that has been wasted, since an approach could have been used which would have reduced the number of bugs before the application was completed.
However, it should be emphasized that UML is not limited simply modeling software. It can also be used to build models for system engineering, business processes, and organization structures. A special language called Systems Modeling Language was designed to handle systems which were defined within UML 2.0.
The Unified Modeling Language is important for a number of reasons. First, it has been used as a catalyst for the advancement of technologies which are model driven, and some of these include Model Driven Development and Model Driven Architecture. Because an emphasis has been placed on the importance of graphics notation, UML is proficient in meeting this demand, and it can be used to represent behaviors, classes, and aggregation.
GET INSTANT HELP FROM EXPERTS!
- Looking for any kind of help on your academic work (essay, assignment, project)?
- Want us to review, proofread or tidy up your work?
- Want a helping hand so that you can focus on the more important tasks?
Hire us as project guide/assistant. Contact us for more information
While software developers were forced to deal with more rudimentary issues in the past, languages like UML have now allowed them to focus on the structure and design of their software programs. It should also be noted that UML models can be transformed into various other representations, often without a great deal of effort. One example of this is the ability to transform UML models into Java representations.
This transformation can be accomplished through a transformation language that is similar to QVT. Many of these languages may be supported by OMG. The Unified Modeling Language has a number of features and characteristics which separate it from other languages within the same category. Many of these attributes have allowed it to be useful for developers. In this article, I intend to show you many of these attributes, and you will then understand why the Unified Modeling Language is one of the most powerful languages in existence today.
Object Orientated Design: Assignments
Demonstrate in-depth knowledge and understanding of current best practice in the design and development of Object Orientated systems.
Design a system using advanced object orientated principles and methods, such as Behavioural, Creational and Structural design patterns, ensuring a high level of quality and data security.
Implement and test Object Orientated programmes using advanced techniques ensuring a high level of quality and data security.
Critically evaluate the effectiveness of implemented Object Orientated applications
Demonstrate a professional understanding of the importance of software quality in the development of applications.
Case Study: Quick Fix Dental Practice
Technology requirements
Application must be built using Visual Studio 2019 or Visual Studio 2017, professional or enterprise. The community edition is not suitable for this work, as it will not work with Entity Framework.
You must use the database built into visual studio as your data store, you should not use any other database.
The GUI must be built using windows forms (winForms). ASP or other presentational technologies are not permitted.
Patterns must be present in the technical solution, for example the presentational layer should use MVP. You are also required to use Entity Framework and LINQ.
Background
Radiant Smile Dental practice requires you to build a windows application to support dental practice. The dental practice only deals with NHS patients however it does offer a number of treatments not covered by the standard NHS services such: teeth whiting, dental implants.
Patients
When a patient is registered their details such as date of birth, name, address, email are captured and stored by the system. A medical questionnaire is given during the registration process. The questionnaire captures information regarding any medical conditions which may affect the treatment and any allergies the patient may have such as to latex or antibiotics.
When a patient visits the dental surgery a check is done to see when they last updated their medical history. If this was more than a year ago the system will prompt the reception staff to ask if they has been any changes to their medical history. If there has they will be required to fill in a new medical questionnaire.
All patients must provide the name and address of their GP practice. It is likely that many of the patients in the dental practice will be register to a small number of local GP practices.
NHS patients may be entitled to free treatment or they may pay a fixed free given the dental work undertaken. More detailed information can be found at https://www.nhs.uk/using-the-nhs/nhs-services/dentists/understanding-nhs-dental-charges/
All treatments private / NHS should be easily maintained by the practice staff. This may be the change of pricing in line with changes to the NHS fees. It could also include new private services or accommodate a change in price due to a special offer.
Checkups (15 minute appointment)
Checkups can be booked in one of three ways
- When a patient comes to the end of a treatment plan of has had a check-up which requires no work they are offered an opportunity to book a six month check-up.
- When they first register with the practice.
- If they telephone in and ask for a check-up, a check is made to make sure they have not already had a check up within the last four months.
In the case of new patient or coming to the end of the treatment plan, the system must prompt the reception staff to ask the patient to make an appointment.
The system should identify any patients who have not visited the dental practice in the past six months and have no future appointments books. The system will produce a reminder letter which will be mailed out to the patient asking them to make an appointment. They will be contacted again is six months if they have not made an appointment and has not visited the dental practice.
Any patient who has not made contact with the dental practice for a two year period will be removed from the list of active patients.
Emergency Appointments
A practice holds 2 hours non advance appointments each day; these are for dental emergencies and are allocated on a first come first served basis.
Recording a treatment plan
A person will have 32 adult teeth, and when they are younger 20 baby teeth. During someone’s life the state of the teeth may change: all the way from a filling to an extraction.
The system should only record information only about a ‘treatment plan’ the work identified as needing to be carried out following an examination.
The dentist will fill out a visual representation on a pre-printed view of the teeth so that the patient is aware of what is going to be done. This visual representation is not recorded by the system instead the dentist makes professional medical notes. These medical notes will be short multi line text documents which are written in such as way that any trained dentist will understand.
Treatment plan consent and payments
Many NHS patients will pay a fixed free for the detail service which is split into three bands. Some patients are entitled to free treatment, depending on their individual circumstances. In both cases the patient signed a standard NHS form consent/treatment form, these are scanned and a copy is held on the system.
In the event of an emergency appointment this may be done immediately after the treatment is carried out.
Appointment Reminders
The practice has suffered from many missed appointments, patients forget about appointments which are often set weeks or months in advance. In order to try and solve this problem SMS text message is sent to the patient five working days before the appointment, and another is send the day prior to the appointment.
It is also policy to phone parents who have long appointments. Some dental work may require 40 or more minutes to complete. Patients who have long appointments are contacted by phoned by a member of the reception team to double check that they will be attending. This normally takes place two working days before the appointment.
A third party service is used to contact patients via SMS text messages. The system should provide the following text document which will be sent to the service. The text document contains a list of the reminders to the sent that day; it has the mobile phone number and the day/time of the appointment. This should be in the form of a comer delimited file.
The system will also produce the list of phone numbers, names and appointment details for all those who have a long appointment in three working days time. This will be processed by the reception staff during quiet periods. Reception staff should be able to mark those who have been successfully contacted, those who have not been contacted by the end of the day will appear on the following day’s list. No further attempts will be made if they are not contacted on the second consecutive day.
The practice operates a policy deregistering anyone who has missed three appointments within a rolling five year period, this will only happen when their current treatment plan has ended. There are exceptions such as any patient who has a memory problem or if anyone has missed an appointment due to illness or bereavement, even events such as a traffic is seen as an acceptable reason for missing an appointment. A clarification for any missed appointment will be sort on the next interaction with the reception staff. Your system must prompt the staff to ask and then record if it allowable or not. In the event of a non-allowable reason the system must check if there has been two more within the past three years. If so, the patients’ record will be marked as one to deregister. If not them a record is made of the missed appointment.
Staff
Staff have the ability to request flexible working so it is possible that some staff may work less than five days a week. Or that they only work the hours between 10am and 2pm. The practice diary which contains all the staff and appointments is held six months in advance.
Staff can also request holiday. It is normal that there will be appointments which have already been made for the period of the holiday. In these cases reception staff will be able to identify and contact the patients so that they can rearrange the appointment.
Staff sickness. Staff may become ill and be unable to work for a period of time. If a member of staff becomes ill then it may be possible to move some of the appointments for a day to other dentists and also use half of the allocation of emergency appointments.
The system should be able to identify from the treatment plan and type of appointment which patients should be dealt with as soon as possible and which can be moved a new appointment in the future. Patients undergoing root canal work or crows are priorities and an attempt is made to fit them into current weeks work, checkups are seen as lest priority and are rescheduled last. Contact information is listed for all the affected patients. The receptionist calls each one in the list which has been prioritised. They explain the situation and work with the patient to choose an alternative day and time.
This task is an individual task and covers the following learning outcome.
Demonstrate in depth knowledge and understanding of current best practice in the design and development of Object Orientated systems
Critically evaluate the effectiveness of implemented Object Orientated applications
Demonstrate a professional understanding of the importance of software quality in the development of applications.
Critically evaluate the effectiveness of implemented Object Orientated applications
“Most systems require user authentication, identify the technical approach you would use to storing the password information so that a user was able to authenticate themselves at a later date. You discuss a range of approaches and any weaknesses with the indentified approaches.”
Identify possible technical solutions to security protecting information in the properties of a class prior to it being persisted on a database. Additionally you should consider and outline any implications any of the possible solutions may have on the winder functionality or performance the application.
Critically evaluate the Design and Implementation in relation to the object orientated principles covered in the module. You must consider the patterns you have used and discuss if they were effective and also identify any patterns you have not implemented but believe to be relevant.
Discuss the choice of Data Access implementation. Was Entity Framework directly used or did you impose your own unit of work and repository patterns. You need to justify and reflect on the choice you made.
Critically evaluate your application in terms of security. You do not need to discuss password security which you covered in the research question. However you should focus on the security needs of the application from the data perspective. You should use what you discovered from task one section three in order to give some specific recommendation related to this application.
GET INSTANT HELP FROM EXPERTS!
- Looking for any kind of help on your academic work (essay, assignment, project)?
- Want us to review, proofread or tidy up your work?
- Want a helping hand so that you can focus on the more important tasks?
StudyMumbai.com is an educational resource for students, parents, and teachers, with special focus on Mumbai. Our staff includes educators with several years of experience. Our mission is to simplify learning and to provide free education. Read more about us.
Leave a Reply
You must be logged in to post a comment.