Difference between revisions of "Structural Analysis"

From EUDP
Jump to: navigation, search
(How)
Line 39: Line 39:
 
'''Note''': ''This activity may advantageously be performed in the planning activities.''
 
'''Note''': ''This activity may advantageously be performed in the planning activities.''
  
''Software Analysis''
+
===Software Analysis===
 +
 
 +
'''Definitions'''
 +
* Module: A software module (as known from a C-module), a class or a contiguous block of code handling a specific task
 +
* Algorithm: A step by step instruction how to solve a specific problem
 +
* Attribute: A storage space able to maintain values. Typically a variable in a program or function
 +
* Method: A collection of statements that forms a whole (function or procedure)
 +
 
 +
For each selected module, that is going to be implemented in the current timebox, perform an analysis of the requirements attached to the module.
 +
 
 +
Identify algorithms that may solve the problem at hand. Assess each algorithm by describing it, for instance using pseudo code or a descriptive text, and evaluate the suitability to solve the problem by giving it weighed scores. After assessing each possible algorithm select the one with the best score.
 +
 
 +
Identify the essential attributes that the module should maintain.
 +
 
 +
Identify the datatype of each attribute (i.e. Integer, String, etc.).
 +
 
 +
Identify the essential methods that the module should offer (essential methods do not include basic methods that access attributes such as set metods or get methods, basic event handlers, constructors, destructors, etc. - they are left for the developer to implement implicitly).
 +
 
 +
Identify the return datatype and parameter datatypes of the methods.
 +
 
 +
Update the diagrams or create new diagrams that maintain the decisions.
 +
 
 +
===Hardware Analysis===

Revision as of 12:58, 5 May 2014

What

For the selected parts of the project, perform a detailed analysis in order to understand the task at hand.

How

The Dish

A detailed analysis of each selected task that shall be developed in the current timebox.

Ingredients

Documentation from

i.e. the General Analysis Specification.

Add, for reference, documentation from

Finally the plans for the timebox is handy to have available.

Process

Requirements from the Launch Phase may at this point be too widely specified. Therefore it may be necessary to specify sub-requirements, that all together will cover a selected requirement. While splitting a requirement into more detailed sub-requirements do also update or create verification specifications that matches the newly created requirements.

Note: Not all sub-requirements may be included in a timebox. They can be spread over more timeboxes.

Note: This activity may advantageously be performed in the planning activities.

Software Analysis

Definitions

  • Module: A software module (as known from a C-module), a class or a contiguous block of code handling a specific task
  • Algorithm: A step by step instruction how to solve a specific problem
  • Attribute: A storage space able to maintain values. Typically a variable in a program or function
  • Method: A collection of statements that forms a whole (function or procedure)

For each selected module, that is going to be implemented in the current timebox, perform an analysis of the requirements attached to the module.

Identify algorithms that may solve the problem at hand. Assess each algorithm by describing it, for instance using pseudo code or a descriptive text, and evaluate the suitability to solve the problem by giving it weighed scores. After assessing each possible algorithm select the one with the best score.

Identify the essential attributes that the module should maintain.

Identify the datatype of each attribute (i.e. Integer, String, etc.).

Identify the essential methods that the module should offer (essential methods do not include basic methods that access attributes such as set metods or get methods, basic event handlers, constructors, destructors, etc. - they are left for the developer to implement implicitly).

Identify the return datatype and parameter datatypes of the methods.

Update the diagrams or create new diagrams that maintain the decisions.

Hardware Analysis