Difference between revisions of "Architecture Lifecycle Issues"

From Suhrid.net Wiki
Jump to navigationJump to search
Line 52: Line 52:
 
* 3. Identify related strategies
 
* 3. Identify related strategies
 
** Dont repeat strategies identified with more than one issue. Reference them.
 
** Dont repeat strategies identified with more than one issue. Reference them.
 +
 +
== Organisational Factors ==
 +
 +
# Management
 +
# Staff skills
 +
* e.g. Analyze factors
 +
* experience in multithreading.
 +
* Only one developer has skill.
 +
* Flexibility: Subject area is too complex for only training.
 +
* Impact: There is a moderate impact on meeting performance.
 +
* Strategies
 +
* Only 1 developer
 +
* Strategy: avoid use of multiple threads.
 +
# Process and development environment
 +
# Development schedule
 +
# Development budget
 +
 +
== Technological Factors ==

Revision as of 11:58, 13 April 2012

Architecture Based Process

  • Establish business case for the system. e.g. Product cost, time to market.
  • Understand the requirements
    • Use cases, prototypes
    • Quality attributes
    • Commonality & variability from previous/future systems - domain analysis.
  • Develop the architecture - use tactics, styles.
  • Document the architecture - using variety of views and ADL.
  • Analyse or evaluate the architecture.
  • Implement product based on the architecture.
  • Ensure that implementation conforms with architecture.

Process Recommendations

  • Architecture should be a product of a single architect or a small group of architects with a single leader.
  • Arch should have both functional reqs and an articulated, prioritized list of quality attributes.
  • Arch should be well documented with atleast one static view and one dynamic view.
  • Arch should be circulated to all stakeholders who should actively review.
  • Arch should be analysed for quantitative measures and formally evaluated for qualitative properties.
  • Should lend itself to incremental implementation via creation of a skeletal system.

Global Analysis

  • The purpose of global analysis is to analyse the factors that influence the architecture and develop strategies for accommodating these factors in the architecture design.
  • Three types of factors:
  1. Organizational factors
  2. Technological factors
  3. Product factors

Process

Analyse factors

  • 1. Identify and describe factors
    • Consider those that have significant global influence.
    • Can factor be localized or is it truly global ?
  • 2. Characterize the flexibility and changeability of the factors
    • Can factor be changed, modified, influenced.
    • How often will it change ? How likely ?
  • 3. Analyse the impact of factors
    • Other factors, component, design decisions.

Develop Strategies

  • 1. Identify issues and influencing factors
    • Identify handful of important issues that are influenced by factors and their changeability.
    • Usually several factors affect an issue and when they conflict - we must negotiate a change in them.
    • Difficult to satisfy factor, expensive factor.
  • 2. Develop solutions and specific strategies
    • Reduce or localize factor's influence.
  • 3. Identify related strategies
    • Dont repeat strategies identified with more than one issue. Reference them.

Organisational Factors

  1. Management
  2. Staff skills
  • e.g. Analyze factors
  • experience in multithreading.
  • Only one developer has skill.
  • Flexibility: Subject area is too complex for only training.
  • Impact: There is a moderate impact on meeting performance.
  • Strategies
  • Only 1 developer
  • Strategy: avoid use of multiple threads.
  1. Process and development environment
  2. Development schedule
  3. Development budget

Technological Factors