Design a system using advanced object orientated principles

Assignment Help Programming Languages
Reference no: EM132867110

KF7014 Advanced Programming - University of Northumbria

1. Demonstrate in-depth knowledge and understanding of current best practice in the design and development of Object Orientated systems
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.
3. Implement and test Object Orientated programmes using advanced techniques ensuring a high level of quality and data security.
4. Critically evaluate the effectiveness of implemented Object Orientated applications
5. Demonstrate a professional understanding of the importance of software quality in the development of applications.

Assessment Scenario

Case Study: Quick Fix Dental Practice

Task 1 Research Question (Individual Work) 30 marks
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 should 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.

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
Databases often have TDE (Transparent Data Encryption), although this may be a reasonable approach for some applications, it does not offer sufficient data security for highly sensitive information. In some scenarios, data security needs to be added in at application level (domain and data access). Identify possible technical solutions to securely protecting the attributes of a class prior to it being persisted on a database. Additionally, you should consider and outline any implications that the possible solutions may have on the winder functionality or performance the application. Note that this is not about authentication, database security or general discussion on the types of encryption algorithms. Your answer should focus on what can be done in the domain and/or data access layer. You may want to discuss the implication to the technology discussed on this module such as LINQ and Entity Framework.
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 (Group work done individually)
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 done individually)

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 done individually)
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

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 to implement in the development time box, you should consider the logical grouping of the functionality and if you chose 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:- Advanced Programming.rar

Reference no: EM132867110

Questions Cloud

What are the accounting policy choices for the accounting : What are the accounting policy choices for the accounting of research and development costs under IFRS? Under ASPE? Explain briefly
What suggestions do have for making dream : Jeep Patriot, and this new monthly payment is pretty high again. What suggestions do you have for making her dream become reality?
Determine the expected task duration using pert : Mauricio estimates that the first module of the project could be completed in as few as 131 days or could take as many as 200 days, but most likely will require
Health policy and assessing quality in health care : Prioritize the main steps that the U.S. needs to take in order to develop a prudent health policy plan for the growing number of underprivileged citizens,
Design a system using advanced object orientated principles : Demonstrate in-depth knowledge and understanding of current best practice in the design and development of Object Orientated systems
What will the book value : Paralegal Wendy Right purchased a photocopy machine for $8,000, and the machine is expected to last 10 years. What will the book value
Simulations and multifunctional teams : Simulations are used as learning tools for replicating competitive environments. What is the purpose of multifunctional teams in business decision making?
Identify logical dependency relationships using ms project : As you build your schedule, identify 3 logical dependency relationships using MS Project. In MS Project, these dependencies are depicted using the "predecessors
Find what does a favorable cost of sales variance : Find What does a favorable cost of sales variance that includes an unfavorable cost volume variance mean in gross profit analysis?

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a program that reads its input into an array

Write a program that reads its input into an array and then uses selection sort to sort the array. In selection sort, we first find the smallest element.

  Devise and apply strategies to test the developed software

COSC1073 Programming Assignment, RMIT University, Australia. Devise and apply strategies to test the developed software

  Write application for university admissions office

Write an application for a university admissions office. Prompt the user for a student's High School Grade Point (for example 3.2) and an admission test score (value from 0 to 100).

  Write a program that lets the user play the game of rock

Write a program that lets the user play the game of Rock, Paper, Scissors against the computer. The user enters his or her choice of rock, paper or scissor.

  Perform some analysis of the age and weight relationships

In this project you will combine the use of arrays and objects to perform some analysis of the age and weight relationships among a group of people. You have been contracted to write a program into which data about people, including their ages and..

  Create class to store the product name

Choose a fruit or vegetable product that you might commonly find at the farmers market (for example, tomatoes, potatoes, lettuce, apples, cantaloupes, etc). Create a class that stores the product name.

  Basics of hypertext markup language

The basics of Hypertext Markup Language and World Wide Web.

  Complete the implementation of calculator

Problem 1: Complete the implementation of Calculator.scala. Elbonia has a simple sliding scale income tax scheme. Your tax rate is determined by your income according to the following table:

  Write a program that takes as input two arrays

Write a program that takes as input two arrays a1 and a2 of size N and M, respectively. Assuming that a1 and a2 are sorted (descending sort).

  Write code for member method expand

Write code for the member method expand. To keep the code simple, you may assume that the array element has enough capacity and does not need to be resized.

  What is the longest word you can build in a game of scrabble

What is the longest word you can build in a game of Scrabble one letter at a time? That is, starting with a validtwo-letter word, how long a word can you build

  Write one instruction to reverse the lsb

write ONE instruction to reverse the LSB of the 2nd and 3rd elements of arr - Write code to determine if a data value is a power of 2,

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