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

1 write a pseudo code before starting your program do not

1. Write a pseudo code before starting your program ( do not use SWITCH, replace it with IF structures ) 1.1 Draw a flowchart for your program based on your pseudo code 2. Identify your constants 3. Your input will come ...

Assignmentwrite a console application to meet the following

Assignment Write a console application to meet the following requirements. Create a system for a simple library. The library has a name and a list of books. Each book has a title, author and an int as the id number. Defi ...

Assignmentthe csit racing club is a group that runs amateur

Assignment The CSIT Racing Club is a group that runs amateur car racing events throughout the US. In This project, write a program that will help the club determine the winner of their Fall Rally Race. You will need to d ...

Generate code for the given three-address statements

Generate code for the given three-address statements assuming all variables are stored in memory locations. a) x = 1 b) x = a c) x = a + 1 d) x = a + b e) The two statements x = b * c y = a + x

Along with your name include your student id and discussion

? Along with your name, include your student ID# and discussion section at the top of your Assignment. ? There are eight problems; we will go over them in dicussion section after the due date. ? The textbook in this cont ...

Using the machine model find the minimum initiation

Using the machine model, find the minimum initiation interval and a uniform schedule for the iterations, for the following loop: for(i =1; i A[i] = B[i-1] + 1; B[i] = A[i-1] +2; } Remember that the counting of iterations ...

Frans virtual fruit standuse the concepts and scenario from

Frans Virtual Fruit Stand Use the concepts and scenario from Assignment to help Fran's Virtual Fruit Stand increase the functionality of its online shopping cart. When a customer checks out, the shopping cart must store ...

Assignmentcollege maintains a file of credit hours

Assignment College maintains a file of credit hours completed for their students, named CREDITS.TXT. Each line of the file contains: • the student's ID number (an 8-character string, containing 2 letters followed by 6 di ...

The colors red blueand yellow are known as the primary

The colors red blueand yellow are known as the primary colors because they cannot be made by mixing other colors. When you mix two primary colors, you get a secondary color as shown here: When you mix red and blue you ge ...

Programming assignmentdescription your algorithm first

Programming Assignment Description: Your algorithm first takes an input size (N) from the user and generates a random sequence of N integers ranging from -99999 to 99999. If N is less than 50, your program must print the ...

  • 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

WalMart Identification of theory and critical discussion

Drawing on the prescribed text and/or relevant academic literature, produce a paper which discusses the nature of group

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