Module Assembly - Resource Checker Tool

Register
Submit a solution
The challenge is finished.

Challenge Overview

 

1.     Project Overview

1.1     System Description

The client wants to develop a GUI based application, which will allow for the tracking of all the resources (direct and related) for a specific running program (such as an executable) or a subprogram (such as a DLL.) for windows 7, XP (SP3 – service pack 3) and windows Vista.

Such a tool would be quite important for developers, testers, and any technical persons who need to know about the specific resources utilized by a given program or a sub-program.

The tool must provide GUI that is easy to use with an intuitive interface and should not require any complex input from the users. The users should be able to select any running program or a subprogram and get the resource information associated with it.

The resources being spoken of in the context of the tool would include:

  1. Regular resources such as:
    • Sound files.
    • Image files.
    • Icons and cursors.
    • Dialogs – Nice to have.
  2. Version information.
  3. The functions that a given program or sub-program contains.
  4. Any related registry keys that the program or sub-program uses. This will also include any registry changes (Added, Deleted and Updated.)

The client wants to enable its users to provide an application name, DLL file name, OCX file name, TLB file name or an EXE file name and for this tool to display back to the user the list of associated resources in an easy to understand and navigate manner, with the option of exporting all the displayed information to a file of the user’s choice, so that the information can be perused later or perhaps fed to another tool.

The client is envisioning this tool as being a stand-alone tool, which will allow users to interact with programs and sub-programs (i.e. sources) on their local machines as well as a networked tool, which would allow for users to view remote (i.e. on another machine) EXE, OCX, TLB or DLL sources.

1.2     Competition Task Overview

A complete list of deliverables can be found in the TopCoder Assembly competition Tutorial at:

http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorial

The main task will be to integrate components with each other including GUI part of the application. The tasks will involve:

  • Integration of all the windows and UI controls with back-end services for the whole project
  • Providing any needed configuration according to section 1.2.2 of this document and to configuration parameters, discussed components specifications
  • Writing clear deployment documentation

1.2.1     Application management

See ADS 1.3 for application management details.

1.2.2     Configuration

Configurable parameters will be stored in app.config file. This app.config file can be got with System.Configuration.ConfigurationManager class. Refreshment-related parameters can be (re)written into app.config by means of custom IRefreshmentService.

Permanent content like name and short description of the application and other splash screen content (if any) will be hard-coded.

1.2.3     Namespace Structure

ResourceChecker

1.2.4     Dependencies

They are 3 custom components of this architecture.

  • Model and Exceptions  1.0
    • Provides data transferring entities and module-level custom exceptions for the application.
  • Export and Refreshment Services 1.0
    • Provides services for exporting data and refreshment (including scheduled job) and implementations of these services.
  • Program, Machines and Resources Services 1.0
    • Provides services for managing machines, programs (including retrieving its resources) and resources and implementations of these services.
  • Resources Retrieval Daemon 1.0
    • Provides a Windows daemon which will be deployed at remote machines to get resources of the specified local module and provide serialized output for the caller.
  • GUI Classes 1.0
    • Provides Classes for Graphical User Interface of the application and context inline help for these GUI elements.

1.2.5     Business validation

Each UI control will do its specific validation as per the business-rules described in ARS validation activities for input data. Assemblers are responsible for validation method for each UI control which requires validation according to the ARS.

1.2.6     On start of application

The following actions will be performed when the application starts:

  • Load Application Configuration
  • Enable Scheduled job (if disabled)
  • List configured machines
  • Display splash screen with general information on this tool

1.2.7     Application installer

Installer will be created for Resource Checker application via Install Shield 2011. Installer will deploy the tool in the local file system with all the 3rd party tools used.

The installer will allow users to install the application anywhere, but forces him/her to store the data folders in a standard folder such as %appdata%\ResourceChecker, or %localappdata%\ResourceChecker or even %programdata%\ResourceChecker.

1.2.8     User interface

Windows Forms technology (System.Windows.Forms namespace) must be used to implement relevant GUI windows and forms.

 

1.3     Technology overview

1.3.1     Environment Requirements

  • .NET Framework 3.5.1+

  • C#

  • Microsoft Windows XP(SP3)/Vista/7

1.4     Existing Documents

  • Individual component requirements documents

  • Application Design Specification

  • Application Requirements Specification

  • Component TCUML



Final Submission Guidelines

N/A

Review style

Final Review

Community Review Board

Approval

User Sign-Off

Challenge links

ID: 30033853