Evaluation of the technical solution

Assignment Help Programming Languages
Reference no: EM132727244

KF7014 Advanced Programming - University of Northumbria

Learning Outcome 1: Demonstrate in-depth knowledge and understanding of current best practice in the design and development of Object Orientated systems

Learning Outcome 2: 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.

Learning Outcome 3: Implement and test Object Orientated programmes using advanced techniques ensuring a high level of quality and data security.

Learning Outcome 4: Critically evaluate the effectiveness of implemented Object Orientated applications

Learning Outcome 5: Demonstrate a professional understanding of the importance of software quality in the development of applications.

Assessment Scenario

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.

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.

Task 1 Research Question (Individual Work)

This task is an individual task and covers the following learning outcome.

1. Demonstrate in depth knowledge and understanding of current best practice in the design and development of Object Orientated systems

Question for section one and two

"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."

The research is split into three sections,

Section one
The initial part you will be limited in your usage to a single source of information, namely "stack overflow". This initial investigation should take approximately 1 hour to complete. And will be undertaken during the lab session. See Appendix B for information regarding how to capture the information. If you miss the lab you can still do the exercise and forward the information to the module tutor for analysis.
(5 marks)

Section two
This second part answers the same question however it should be only done after the lecture on security. You must document the work in the same way as you did for section one, using the layout from Appendix B. Part one documented finding information on stack overflow in this section. You also need to write a short summary identifying the technical measures you would take and give a reference to any code examples which you would use as a basis for implementing the solution.
Word Limit 300

Section three
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.

Word Limit 1500

References from good-quality, relevant literature must be used in order to strengthen any points that you raise in your discussion. This only relates to sections two and three of this question.

Task 2 UML Designs and OOP considerations

This task assesses the learning outcome.

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.

Produce an implementable class diagram for the system you are developing, this should show your final design of the software components and clearly show architectural patterns used in the development of the system. It should not be post implementation diagram created by visual studio. You are expected to use Design Patterns in the creation of you product, and you are also expected to show layering of the application, patterns should be considered in each of the layers for example you are expected to use a presentational Patten in the interface layer. This work should only include the requirements which you are expecting to implement during the time-box.

You must provide a justification for any of the patterns you have chosen to implement. Outlining reasons why the choices have been made. You should also include any patterns which you believe could be beneficial to the software architecture, but which you decided not implement. A rational for their exclusion should be given.
Word Limit 300

Task 3 Implementing the technical Solution (Group work)

In this task the following learning outcome is assessed.

Implement and test Object Orientated programmes using advanced techniques ensuring a high level of quality and data security.

You are not expected to try and implement the entire system. Agile methods require a subset of requirements to be taken into a time-box for development. You can apply MoSCoW to list of requirement, this will help you decide on what requirements you plan to implement. However you are expected to pick requirements which work together so that you can demonstrate a working subsection of the entire system, you should use vertical development.

You are expected to develop the application using the standard three layer model and the domain and presentation layer should contain some of the patterns covered in the module.

Entity Framework must be used to persist the objects. It is your choice on how you use the technology. It is recommended not to use Database first as this will have architectural consequences to your system.

The system must be implemented using Visual Studio 2017 or 2019 and be written in C#. As stated earlier only windows forms may be used and the application must use the inbuilt database.

You may include instructions as to use which would include any valid logon details or user details that you have created.

The code is marked on the following aspects:

Scope technical implementation

Quality of the solution, including architecture patterns used.

Task 4 Testing (Group work) 10 marks

In this task the following learning outcome is assessed.

1. Demonstrate a professional understanding of the importance of software quality in the development of applications.

It is expected that there is sufficient level of unit level testing within the layers of the application. It is important that each class and method has an associated testing component. You should also carry out some testing at system level making sure that the system performs the needed system functionality. You should use both positive and negative testing.

Visual Studio provides an inbuilt testing framework, you are expected to automate as many of the tests as possible using the inbuilt unit testing framework. If you have used dependency injection/mock objects to isolate classes you should make this clear in your testing strategy.

All tests must also be documented in a test plan, it is not enough to just have test project, it must documented in a plan.

Task 5 Evaluation of the development process (Individual Work)

In this task the following learning outcome is assessed.

1. Critically evaluate the effectiveness of implemented Object Orientated applications
2. Demonstrate a professional understanding of the importance of software quality in the development of applications.

Many iterative methodologies incorporate an evaluation step at the end of each development time-box. The purpose is to reflectively evaluate the development increment so that lessons can be learned, and improve the development process in future increments. In this section you are required to critically evaluate development process and the tools used.

• Critically evaluate the approach your team used in selecting what requirements in implement in the development time box, you should consider the logical grouping of the functionality and if you choose to many or two few requirements to implement.
• Teamwork, you need to critically evaluative how you're team worked together in producing the technical solution. How you self organised yourselves. If any problems occurred they should be listed as well as any attempt to reach a resolution.
• Tool evaluation: Critically Evaluate: the development environment, database chosen and the use of testing tools in the development of the system.
Approximately 700 words

Task 6 Evaluation of the technical solution (Individual Work)

In this task the following learning outcome is assessed.
1. Critically evaluate the effectiveness of implemented Object Orientated applications

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.

Attachment:- Implementing Object Orientated Design.rar

Reference no: EM132727244

Questions Cloud

What document d require to accomplish the task : What document do you require to accomplish this task? PCAOB standard no. 5 specifically requires auditors to understand transaction flows in designing
Create a family engagement plan : How they will facilitate engagement and learning. Your events could include something like the following examples: Curriculum Night, Family Literature Night
Why you support an increase in minimum wage : Write a letter to the current United States President, and put forth arguments regarding why you support or are against an increase in minimum wage.
Find what smith report as its diluted earnings per share : On 01-01-19, Smith had 732,000 shares of common stock outstanding. What will Smith report as its diluted earnings per share for the year ended 12-31-19?
Evaluation of the technical solution : Critically evaluate the approach your team used in selecting what requirements in implement in the development time box, you should consider the logical
Find which of the measurement approaches : Explain, Unless acquired under a business combination, intangible assets must be initially measured using which of the following measurement approaches?
Briefly summarize the purpose for the article : For this assignment, you will search the CSU Online Library for an article that addresses how terminating the employer-employee relationship can be one of the.
Which of the internally generated identifiable intangibles : Paragraph 63 of AASB 138 Intangible Assets, prohibits the recognition of which of the internally generated identifiable intangibles?
Make journal entries for relevant current and deferred tax : Make journal entries for relevant current and deferred tax accounts. The financial statement of Jane's preschool for the year ended 30 June

Reviews

Write a Review

Programming Languages Questions & Answers

  Find number values that are between given range

Suppose the values from aaa.txt have been loaded into array Bob: find out the number values in Bob that are between 0 and 4 (not inclusive).

  Calculate the difference between the number and the average

Write a program that will input an array of 10 REAL4 numbers into an array, and that will calculate the average value of the array and the standard deviation.

  What are the important aspects writing pseudocode

What are the characteristics of flowcharts and how they express logic and what are the important aspects writing pseudocode?

  Prepare a function that generates a polynomial

Write a function genPoly(n) that generates a polynomial of length n (degree n-1), all of whose coefficients are 1.0.

  Prepare a project using elixir

You need to prepare a project using Elixir. It is a 50 marks projects so a small project on this topic is enough

  Create multiple functions with the same name

Function overloading is a feature in many programming language, which means that you can create multiple functions with the same name but the parameters within the functions should be different.

  Write a function that returns the nth fibonacci value

Write the function delete_first(a, obj) that deletes from a only its first item that is equal to obj, if any. The function returns the modified array.

  Write program using getline command

How would you write a program using the getline command, prompting the user to enter their first and then their last name. Also, using a float variable to enter their weight in lbs and height in inches.

  Create math sorting game using visual basic studio

using visual basic studio 2010, Create math sorting game. Random number between 1 and 99 will be generated and displayed to the user.

  Php script to obtain url and its description from user

Write a PHP script to obtain URL and its description from user and stores information into database by using MySQL.

  Program for sentinel address of all zeros and nickname

Explain class called address_t with members for four integers and must read list up to 100 addresses and nicknames terminated by sentinel address of all zeros and nickname.

  Program for an automatic teller machine that dispenses money

The user should enter the amount desired (a multiple of ten dollars) and the machine dispenses this amount using the least number of bills.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd