Create a class diagram of the initial code

Assignment Help Computer Engineering
Reference no: EM132221744

Learning Outcomes Assessed

The following course learning outcomes are assessed by completing this assessment:

• S1. Apply software design principles to design and document software that utilises design patterns

• S2. Analyse source code and develop comprehensive unit test suites

• S3. Operate CASE software to document the design of a piece of software

• S4. Apply refactoring to identify poor programming practice in existing source code and improve its structure and readability

• S5. Apply an appropriate software development methodology to the development of a software system

Assessment Details

You are required to document, test and refactor an existing application.

You will be given a copy of an existing C# application which is responsible for allocating animals to new owners for an animal rescue organisation. This application is badly in need of refactoring and even a casual viewing of the source code reveals many examples of the "code smells" talked about in Fowler's book.

The base application consists of five classes: AniMate, Branch, Animal, Adoption and Client.

Clients are able toadopt animals based on availability and choice of animal type.

Assignment Requirements

Step 1 - Rename the base code

1. Download the code from Moodle and unzip it in the filesystem

2. Rename the base folder to "Assignment 1 - yourid" (your id equals your student number)

3. Open the solution up in Visual Studio right click on the Solution and rename it as per (2)

4. Build the solution and inspect the output. Spend some time becoming familiar with the code before you do anything else.

Step 2 - Identify "code smells"

Open up a new document in Word (or equivalent), start documenting any code smells you identify in the code in point form. You might want to cut and paste the code into Word to illustrate the problems.

Step 3 - Create a class diagram of the initial code.

Do this in Enterprise Architect and copy the resultant diagram into your Word file. Ensure your EA file is saved and labelled as "starting code base".

Step 4 - Refactor and unit test code

Ensure that your starting code and EA file is backed up. Once this is done, commence refactoring the code in Visual Studio. Document each change you make and provide an explanation of why you have done so.

Your final code should be fully refactored and have unit tests developed for every method (other than any ToString and Get and Set methods). These unit tests should be documented to demonstrate the results before and after the changes to confirm that the functionality of the code has not changed.

Step 5 - Create diagrams of the final code.

Do this in Enterprise Architect and copy the resultant diagram into your Word file. Create a class diagram of the final code, and a sequence diagram showing how a new adoption request is processed in the final code. Ensure your EA file is saved and labelled as "final code base".

Reference no: EM132221744

Questions Cloud

What are the challenges and issues faced by corporation : You are the principal Security Architect for Mindvision Corporation, a firm with four regional offices and 50 employees located across Australia.
Display the names and salaries of employees : Find the mean(averages) salary and display the names and salaries of employees who earn within a range of $5000 from the mean.
How many mothers are examined by the clinic : Use the average waiting time and maximum waiting time to advise managementon how to improve the antenatal service clinic.
Compute the predicted break-even point in dollar sales : Compute the predicted break-even point in dollar sales for 2020 assuming the machine is installed and there is no change in the unit selling price
Create a class diagram of the initial code : Build the solution and inspect the output. Spend some time becoming familiar with the code before you do anything else.
Determine the functional dependencies : Write SQL queries (do not use QBE) for the following questions and execute the queries after creating the above database on MS Access.
Why are these defenses not used extensively : CP5603 : What are the defenses to protect against SQL injection attacks, XML injection attacks, and XSS?
Compute the cost of goods manufactured : Using the following data from both Garcon Company and Pepper Company for the year ended December 31, 2019, compute (1) the cost of goods manufactured
Design the core classes for your simple game : Design the core classes for your simple game. Do this using a UML class diagram.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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