Development of software (coding required) Essay Example

  • Category:
  • Document type:
  • Level:
    High School
  • Page:
  • Words:


Assessment 3- Project

Scope and objective of the project

The main purpose for the project is to analyse the memory or time complexity of the program, frequency and duration of function calls and the usage of particular instructions. In other words, the main aim is profiling. In the analysis of the above measures, performance of a program is determined by the dotTrace Performance application. The main objectives of this project include line by line profiling, sample profiling and tracing profiling. Line by line profiling is a precise method of profiling but rather slow compared to the other methods of collects timing information for all the statements and provides details on the methods with good recognizable work. Tracing is faster than line by line method but it is much less precise. The sampling method is the fastest but the most less precise of all the methods (Bérard et al. 2013).

Logging framework

All the log messages are normally transported and stored in message objects. The message in transit has the following properties: priority, source, text, timestamp, a process and a thread identifier and name value pairs. There are 8 message priorities with the PRIO_FATAl being the most critical and PRIO_TRACE having the lowest priority. The other priorities that lie in between these two include the following: PRIO_CRITICAL, PRIO_ERROR, PRIO_WARNING, PRIO_NOTIOCE, PRIO_INFORMATION, and PRIO_DEBUG (Frénot et al. 2012).

The message source that is normally set by the logger to its name is described by the origin of the log. It is important to choose the name to brand the logger with wisdom and consider the factors such as the name of the class and the subsystem which both produce the message. The format and length are among the factors that have no specified requirements for the message. The format in which the message is however can be modified before it appears in the log destination. Poco::Message constructor automatically initializes date and time to the current one. Numbers of name-value pairs and strings are some of the parameters of the message to be transported and the parameters can be referenced in a formatter and accessed using index operator.

Main entry point command is the Poco::Logger into the logging framework and is also used as class to generate log messages. A channel that is attached to every logger delivers messages to their destination. Name of the logger becomes the source of all the messages generated by the logger. Messages are filtered by the logger based on priority.

Custom event log code

System, security and application constitute the fundamental examples of window logs which are predefined in the event log. In this case, the Event log is the key in the system. The sample code is as follows:

String source = “TestApp”;

String log = “TestEventLog”;

EventLog demolog = new EventLog;

Demolog.source = source;

Demolog.WriteEntry(“This is the Sample Code”);

Log analysis

Log data is a record of what is happening in businesses, organizations or agencies and it is information that is untapped therefore legitimate. The log management should be able to handle security b, IT operations, troubleshooting and compliance reporting. The following should be evaluated in the process, index, search and correlate any data for insight across the infrastructure. To pinpoint any problem across the infrastructure and solve it as needed. Make data available for use by the authorized people in a secure manner. The data should always be recognized and stored regardless of its location.


Finding and solving various errors in an application or a program can be at times very tedious activity to perform. The various techniques used in the debugging process such as the breakpoints. Breakpoints are the locations in the executable code that stops executing the operating system. At this point, the programmer is able to analyse the target and issue debugger commands. The next debugging method is stepping through process whereby the programmer has to go through the entire code statement by statement. The last method is the tracing method which is also known as printing method whereby the programmer watches the print statements that indicate the flow of execution of a process. This is normally turned on by a command TRON (Leemans et al. 2013).

Debugging tools

These are normally integrated with the editor. They include the discover, which is used to identify the problem in the code, and the locate tool which determines where the code problem is precisely. There is also another tool that normally examines the control flow and data structures of the running code and also finds the cause of the problem. Fix tool is meant for editing the code where the problem has been identified. Last tool is the confirm tool which basically involves rerunning the edited code to ensure that it is now okay.

Debugging code

Print statement is a statement that allows the developer to write output to the immediate Window

Debug.Print intCount & “ “ : “ & rst! [ID] & “ , “ & rst! [Name]

intCount = intCount +1

Asset statement stops your code when the Boolean value passed to it evaluates to false. For instance,

Debug.Assert x <> 5

The debugger stops when x is 5.

Stop statement stops the execution of the program.

Select Case strType

Case “Hot”

Case “Cold”

Case “Warm”

Case “ Else”

End select


Bérard, B., Bidoit, M., Finkel, A., Laroussinie, F., Petit, A., Petrucci, L., & Schnoebelen, P. (2013). Systems and software verification: model-checking techniques and tools. Springer Science & Business Media.

Frénot, S., & Ponge, J. (2012, September). LogOS: an Automatic Logging Framework for Service-Oriented Architectures. In Software Engineering and Advanced Applications (SEAA), 2012 38th EUROMICRO Conference on (pp. 224-227). IEEE.

Leemans, S. J., Fahland, D., & van der Aalst, W. M. (2013, June). Discovering block-structured process models from event logs-a constructive approach. In International Conference on Applications and Theory of Petri Nets and Concurrency (pp. 311-329). Springer, Berlin, Heidelberg.