Ask Question, Ask an Expert

+1-415-315-9853

info@mywordsolution.com

Ask Programming Language Expert

AIM:

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.

OBJECTIVES:

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.

TASKS:

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

Suppose the heap consists of exactly the nine cars on three

Suppose the heap consists of exactly the nine cars on three trains shown in given figure (i.e., ignore the ellipses). Object o in car 11 has references from cars 12, 23, and 32. When we garbage collect car 11, where migh ...

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 ...

Contact list project where the user enters first name last

Contact list project where The user enters first name, last name, street address, email address, phone number and notes. Use Case Name: Enter a new person ID number: 1 Actors: user Preconditions: The user has chosen to e ...

Suppose you have a class cbirdsuppose you have a class

Suppose you have a class CBird Suppose you have a class CBird, as follows, that you want to use as a base class for deriving a hierarchy of bird classes: class CBird { protected: int wingSpan; int eggSize; int airSpeed; ...

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

James wants to buy a motorcycleinstructions the following

James wants to buy a motorcycle Instructions: The following programming problem can be solved by a program that performs three basic tasks-Input Data, Process Data, and Output Results. Use RAPTOR to design a suitable pro ...

Assignmentjason has opened a coffee shop at the beach and

Assignment Jason has opened a coffee shop at the beach and sells coffee in three sizes: small (9oz) medium (12oz) and large (15oz). Small cost is $1.75 medium costs $1.90 and large costs $2.00. Write a menu driven progra ...

Rainfall programwrite a rainfall program that stores the

Rainfall Program Write a RainFall program that stores the total rainfall for each of 12 months into an array of doubles. The program should have methods that return the following: * The total rainfall for the year * The ...

Assignmenta near expert at introductory problem solving and

Assignment A near expert at introductory problem solving and programming, you've decided to put your skills to good use by volunteering at SecurityCon, a security conference for IT professionals. The conference has space ...

1 devise a register-allocation strategy on the assumption

1. Devise a register-allocation strategy on the assumption that we automatically store all registers on the stack before each procedure call and restore them after the return. 2. Construct the register-interference graph ...

  • 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