Functional software architecture: Difference between revisions

Content deleted Content added
wording
Line 1:
{{Cleanup|date=September 2005}}
A '''Functional Software Architecture''' ('''FSA''') is an architectural model that identifies [[Enterprise architecture|enterprise]] functions, interactions and corresponding [[Information Technology|IT]] needs,. whichThese functions can be used as reference by different [[___domain expert]]s to develop IT-systems as part of a co-operative information-driven enterprise. In this way both [[software engineers]] and enterprise architects are able to create an information-driven, integrated organizational environment.
 
==Overview==
Line 7:
#Strategic management and business consultants set objectives in relation to a more efficient/ effective business process.
#Enterprise engineers come up with a design of a more efficient business process and a request for a certain information system in the form of an Enterprise Architecture.
#Software engineers come up with the design of this information system, which describes the components and structural features of the system by use of a certain [[Architecture Description Language]] (ADL).
#Computer programmers code the different modules and actually implement the system.
 
Of course, theThe described work division is in reality much more complex and also involves more actors but it outlines the involvement of people with different backgrounds in creating a software system that enables the organization to reach business objectives. A wide variety of material produced by different actors within this system development process needs to be exchanged between, and understandunderstood by, multiple actors.
 
Especially in the field of software engineering muchmany tools (A4 Tool, CAME, ARIS), [[computer languages|languages]] (ACME, Rapide, [[Unified Modeling Language|UML]]) and methods ([[Dynamic Systems Development Method|DSDM]], [[RUP]], [[ISPL]]) are developed and extensively used. Also, the transition between the software engineers (step 3) and computer programmers (step 4) is already highly formalized by, for instance, [[object-oriented]] development and corresponding [[Java programming]].
 
Setting strategic objectives (step 1) and the corresponding search for [[business]] opportunities and weaknesses is a subject extensively discussed and investigated for more than hundred years. Concepts like for instance [[Business process reengineering]] (Fredrick Taylor), [[Product software market analysis]], [[Requirements analysis]] are commonly known and extensively used in this context. These strategic inputs must be used for the development of a good enterprise design (step2step 2), which can then be used for software design and implementation respectively.
 
Recent studies have shown that these enterprise architectures can be developed by a number of different methods and techniques. Before these methods and techniques are discussed in detail a definition of an [[Enterprise architecture]] is given:
Line 21:
This definition emphasizes the use of the architecture as a rich strategic information source for the improvement of business processes and development of needed information systems. If defined, maintained, and implemented effectively, these institutional blueprint assist in optimizing the interdependencies and interrelationships among an organizations business operations and the underlying IT that support operations.
 
Having read the definition of a Functional Software Architecture at the beginning of this entry we can see a Functional Software Architecture as a type of Enterprise Architecture that can be used as a rich reference for the development of an integrated information system. Naming it a Functional Software Architecture enforcesencourages practitioners to use it as a strategic input for a [[technical architecture]]. A formal mapping between a Functional Software Architecture and a type of [[ADL]] is therefore needed. In this way the formal use and reuse of enterprise architectures as strategic input for software architectures can be realized.
 
==Development of a FSA==