Create a class diagram of the initial code

Assignment Help Software Engineering
Reference no: EM132507458

ITECH2309 - Software Engineering Assignment - Federation University, Australia

Overview - This is an individual assignment that requires you to document, test and refactor an existing application.

Learning Outcomes Assessed - The following course learning outcomes are assessed by completing this assessment:

Apply software engineering principles to design and implement software applications.

Operate CASE software to develop appropriate models of software systems.

Develop comprehensive unit test suites.

Write integrated reports, using appropriate models, providing detailed analysis of given textual scenarios.

Implement software applications, using appropriate software engineering techniques, from a given textual scenario.

Assessment Details - You are given a copy of an existing Java application which is used to manage the allocation of Goodie Boxes containing merchandise for various fandom groups in a Fan Club. 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 four classes - Main, FandomClu b, GoodieBox and Recipient. A recipient can be a subscriber or a guest purchaser and is handled differently depending on their type. Recipients receive goodie boxes according to the availability of the boxes and their specified preferences.

Assignment Requirements -

Step 1 - Rename the base code

1. Create a new project in Eclipse and "Assignment 1 - yourid" (your id equals your student number)

2. Import the four files - Main.java, F andomClub.java, G oodieBox.java and R ecipient.java - into the project you have just created.

3. Run the program. You will find that it has created a file called "MyOutput.txt" in the working directory.

If you wish to use a different folder you will need to update the output file in Main.java. The output of the program will be displayed on the console and written on the output file.

Step 2 - Identify "code smells"

Open up a new document in Microsoft Word (or equivalent) and start jotting down 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. This will form a report that you will need to include in your assignment submission. There are two important bad smells you must address - the long method in the FandomClub class and the long class smell of the Recipient class. However, there are others you should look at as well.

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

Create a class diagram of the given code in Enterprise Architecture (EA). This should be included in your final submission. The diagram should be in your report as well.

Step 4 - Start refactoring and developing your unit tests.

Ensure that starting code files, initial output file and EA file is backed up, and once this is done jump back into Eclipse and get to work refactoring. Each time you complete a refactoring, run the program and then test if the program output is the same as the output before refactoring. You can rename the output file so that you can check them. You can write a simple Java program to check if two output files are the same or not so that you do not have to manually inspect t hem. If the two output files (before and after refactoring) are different, it is because the output has been changed. Refactoring should not change the output so you will need to look at the code you have already written before you move on.

Step 5 - Create a diagram of the final code after refactoring

Create a second class diagram in Enterprise Architecture of the final refactored code. This should be included in your final submission. The diagram should be in your report as well.

Attachment:- Assignment Files - Software Applications.rar

Reference no: EM132507458

Questions Cloud

What is the hedged value of alcoa receivable : Alcoa Chemical, a US company, has sold £3 million chemicals to CPL Co. Payment is due in 90 days.
Leadership-continuous learning and self-development : Demonstrate the technique of reflective and reflexive practice as a means of continuous learning and self-development.
How much does she still owe on the house : Mary wants to sell the house. How much does she still owe on the house?
Influenced modern quality management theory : Briefly explain why you thought they made a significant contribution. Explain how their work may have influenced modern Quality Management theory.
Create a class diagram of the initial code : Create a class diagram of the initial code - Create a class diagram of the given code in Enterprise Architecture (EA)
Define the meaning of transaction exposure : Define the meaning of transaction exposure. How is it different from economic exposure?
Self- development as leader to build self-awareness : Explore and reflect on self- development as a leader to build self-awareness.
Find the net present value of machine : Find the net present value of this machine (NPV). Should the firm buy the machine? Why yes, or why not?
What would be the percentage decline : Stock Market Bubble The NASDAQ stock market bubble peaked at 3,900, and two and a half years later it had fallen to 2,350. What would be the percentage decline?

Reviews

len2507458

5/6/2020 12:29:42 AM

I have done most of my codings just requesting to double-check my codes and try to fix it so that while running the code it shows test passed instead of the test failed. Because in my code the codes have some problem by which its showing test failed. so I want you to fix the codes and try to complete as the assignment specification and hope it will cost lesser.

Write a Review

Software Engineering Questions & Answers

  Briefly describe the process of compilation

Malware Forensics - Briefly describe the process of compilation. In your discussion, include the role of the high-level languages, low-level languages

  Sketch flowchart to print average for student

Sketch a flowchart to print average for each student in class.Input. Input consists of student records each containing student's name(STUDENT-NAME), score for first test(TEST), score for second test(TEST2), and score for third test(TEST3).

  Create a big file

Give the command-line of displaying the contents of big1.gz using zcat and big2.bz2 but using bzcat without uncompress them. (You may pipe the output to head -10 to avoid lots of output).

  Who is your target market

Who is your target market? Have you considered the accessibility of your site for people with a disability, such as sight impairment and an analysis of needs should include the business enterprise requirements as well as the customer demand.

  Project communications planning

Determine what aspects of your assignment communications planning would you adapt for large-scale transnational IT projects in which the project teams.

  What opportunities are there as security professionals

The leading news networks are reporting on computer security news topics such as Heartbleed, Shellshock, Poodle, the Target breach, iCloud, and Sony

  Software application

Think of a software application (for example, a time tracking application) that you would like to put in for your past or present organization, or an organization that you have read about.

  Describe concepts of object-oriented software development

Describe basic concepts of object-oriented software development.

  Phase of the sdlc to ensure software development success

Senior management at your company is concerned about why so many software development efforts fail. They have asked you to develop a presentation that explains the activities that take place during each phase of the SDLC to ensure software develop..

  Prepare a context diagram for the revised system

Prepare a context diagram for the revised system, and redraw given Figure to reflect the revised system. Ignore the ordering of raw materials from vendors; start the raw materials process with the receipt of goods.

  Evaluate efficacy of systems and process integration

You have been hired by the senior management team of a publishing house to evaluate the efficacy of systems and process integration with the organization's book distributor.

  Briefly discuss the erp system or erp software application

Briefly discuss the ERP system or the ERP software application and include how this resource can help an organization manage important aspects of its business

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