Ask Question, Ask an Expert


Ask Programming Language Expert


The aims of this assignment are to:

• Provide experience in the use of a modern Integrated Development Environment (specifically NetBeans running on a Linux platform) for the development of C++ applications;

• Provide additional experience in the design and implementation of simple C++ classes;

• Introduce the "Test Driven Development" style for program development;

• Use program testing tools including unit testing (cppUnit) and code coverage testing.


On completion of this assignment, you should be able to:

1) Make effective use of an IDE for C++ development.

2) Develop a simple project in "test driven development" style.

3) Utilize the cppUnit unit test framework to run test suites on new components of application code;

4) Utilize the gcov code coverage tool to verify the extent to which a complete application has been exercised

The assignment does require that you use the NetBeans IDE as the standard C++ development environment. The Ubuntu Linux computer systems in laboratory will have this system installed.


You should read the description of the Scramble Word Game (SWG) System in Appendix A before reading these task details.

You are to implement the application described in those notes, and then produce a report on your application, and your development process.  Your report should demonstrate that:

• appropriate use was made of the IDE,
• You have followed an iterative style of development creating and testing component classes prior to assembling them into complete programs
• You have tested your final programs thoroughly.

You prepare a report on your final code, your development process, and your testing. This report should be prepared in a word processor (Microsoft Word, or Open Office Word Processor) and should contain formatted listings of code, code coverage testing listings, screen shots, and segments of captured console output.  The final report is submitted as a PDF document.

Use of the Integrated Development Environment:

It is intended that you learn to use the IDE (and, if appropriate, learn to exploit the integrated source level debugger).  Your report on your assignment work should include screen shots illustrating your code being developed in the IDE.

Classes and unit test exercises:

You will need to implement a number of classes.  In addition to application specific classes, you may need some standard classes from the STL and iostream libraries.  Of course, there is no need for you to do any testing of such standard classes.

Remember that Test Driven Development (TDD) is more about design than testing.  The TDD approach encourages you to think in terms of simple, orthogonal classes that can be developed and tested in isolation and which can then be assembled into a complete program.

You will create Test classes (these are all specialized CppUnit::TestFixture classes) that test the functionality of your application classes. CppUnit classes, their more important methods, and the helper macros are covered briefly in the lecture materials.  cppUnit is further documented at its SourceForge home .

Your assignment report should include formatted listings (header and code files) for your classes – both the application specific classes and their associated test classes . If you do “refactor” your classes many times, you need only include final versions of the class and its test class. When presenting a class it is best to provide a brief summary of the role of the class, its header file, and then its implementation file.  You should do proper code-coverage checking of your program.  You need to run your programs, possibly many times, to verify that you have executed all the different processing options.

Your report should include formatted listings of your application, some captured input and output from console sessions, and some gcov code coverage reports. You should edit segments out of your console sessions and code-coverage reports – there is no need to include the full listings which can be very long.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M9129

Have any Question? 

Related Questions in Programming Language

Generate code for the following three-address statements

Generate code for the following three-address statements assuming a and b are arrays whose elements are 4-byte values. a) The four-statement sequence x = a[i] y = b[j] a[i] = y b[j] = x b) The three-statement sequence x ...

The exercise for this week is to write a class that

The exercise for this week is to write a class that simulates managing a simple bank account. The account is created with an initial balance. It is possible to deposit and withdraw funds, to add interest, and to find out ...

Fundamentals functions amp arraysplease refer to

Fundamentals, Functions & Arrays Please refer to announcements for details about this exam. Make sure you fill the information below to avoid not being graded properly; Here is the grading matrix where the TA will leave ...

Assignment instructionsexception handlingfirst create three

Assignment Instructions Exception Handling First, create three exception classes named NumberHighException, NumberLowException, and NumberNegativeException. Both NumberHighException and NumberLowException should be direc ...

1 show how to transform a three-address code sequence into

1. Show how to transform a three-address code sequence into one in which each defined variable gets a unique variable name. 2. Determine the types and relative addresses for the identifiers in the following sequence of d ...

Assignment1 you are a manager who is employed by a game

Assignment 1. You are a manager who is employed by a game production company. Your team is responsible for coding one of the game modules. You have two newly hired programmers working for you who believe that the followi ...

Sum of digits in a string design a program that asks the

Sum of Digits in a String Design a program that asks the user to enter a string containing a series of single digit numbers with nothing seperating them. The program should display the sum of all the single digit numbers ...

Pseudocodes and flowchartxyz company employees work for 8

Pseudocodes and flowchart XYZ company employees work for 8 hours a day and 40 hours in a week. The employees are paid overtime at the rate of half of the salary. Employees who get more than 15000 must pay a supplementary ...

Assignmentthe assignment is as follows use the program

Assignment The assignment is as follows: Use the program, Arrays of Pointers, on p. 188 of the text "Ch. 4, of Ivor Horton's Beginning Visual C++ 2010" as a starting point for this assignment. Refer to Appendix C for ful ...

Assignmenta catering company provides prepared meals for

Assignment A catering company provides prepared meals for events such as business meetings. The company has a number of standard meals, which it identifies with a unique integer ID number. At this stage each meal also ha ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Section onea in an atwood machine suppose two objects of

SECTION ONE (a) In an Atwood Machine, suppose two objects of unequal mass are hung vertically over a frictionless

Part 1you work in hr for a company that operates a factory

Part 1: You work in HR for a company that operates a factory manufacturing fiberglass. There are several hundred empl

Details on advanced accounting paperthis paper is intended

DETAILS ON ADVANCED ACCOUNTING PAPER This paper is intended for students to apply the theoretical knowledge around ac

Create a provider database and related reports and queries

Create a provider database and related reports and queries to capture contact information for potential PC component pro

Describe what you learned about the impact of economic

Describe what you learned about the impact of economic, social, and demographic trends affecting the US labor environmen