Functional software architecture: Difference between revisions

Content deleted Content added
m Copyedit (minor)
m Disambiguating links to Object-orientation (link changed to Object-oriented programming) using DisamAssist.
 
(One intermediate revision by one other user not shown)
Line 1:
{{Confusing|date=May 2011}}
 
A '''functional software architecture''' ('''FSA''') is an architectural model that identifies [[Enterprise architecture|enterprise]] functions, interactions and corresponding [[Information technology|IT]] needs. These functions can be used as a reference by different [[___domain expert]]s to develop IT-systems as part of a co-operative information-driven enterprise. In this way, both [[software engineersengineer]]s and enterprise architects can create an information-driven, integrated organizational environment.
 
==Overview==
Line 14:
The 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 understood by, multiple actors.
 
Especially in the field of software engineering many tools (A4 Tool, CAME, [[ARIS Express|ARIS]]), [[computer languages|languages]] (ACME, Rapide, [[Unified Modeling Language|UML]]) and methods ([[dynamic systems development method|DSDM]], [[IBM Rational Unified Process|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 programming|object-oriented]] development.
 
Setting strategic objectives (step 1) and the corresponding search for business opportunities and weaknesses is a subject extensively discussed and investigated for more than a hundred years. Concepts like [[business process reengineering]], [[product software market analysis]], and [[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 (step 2), which can then be used for software design and implementation respectively.