Content deleted Content added
m Disambiguating links to ARIS (link changed to ARIS Express) using DisamAssist. |
m Disambiguating links to Object-orientation (link changed to Object-oriented programming) using DisamAssist. |
||
(7 intermediate revisions by 5 users 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
==Overview==
When an integrated software system needs to be developed and implemented
# Strategic management and business consultants set objectives in relation to a more efficient/effective business process.
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.
Recent studies have shown that these enterprise architectures can be developed by
:''An Enterprise Architecture is a strategic information asset base, which defines the mission, the information necessary to perform the mission and the technologies necessary to perform the mission, and the transitional processes for implementing new technologies in response to the changing mission needs.''
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
Having read the definition of
==Development
As the boundary of an enterprise is extended, it becomes increasingly important that a common
The development of a functional software architecture can be done by a number of (combined) methods and techniques. Filling in the
Optimizing the internal and external business processes through process reengineering is one of the main objectives an enterprise can have in times of high external pressure. A [[business process]] involves value
==Modeling the business==
Line 39:
*Integrated definition (IDEF) methodology<ref>U.S. Airforce (1981); ICAM architecture part 1, Ohio, Air Force Materials Laboratory, Wright-Patterson</ref>
*Petri Nets<ref>Peterson J.L. (1981); Petri net theory and the modeling of systems, Englewood Cliffs, N.J., Prentice Hall.</ref>
*Unified modeling language (UML) or unified enterprise modeling language (UEML)<ref># Marshall, C. (2000); Enterprise Modelling with UML, {{ISBN
*Enterprise Function Diagrams (EFD)
These methodologies/techniques and methods are all more or less suited in modeling the enterprise and its underlying processes. So, which of them are suited for the further development of information technology systems that are needed for effective and efficient (re)designed processes? More important, why using a time
===Computer-integrated manufacturing open systems architecture===
[[CIMOSA]] provides templates and interconnected modeling constructs to encode business, people and IT aspects of enterprise requirements. This is done from multiple perspectives: information view, function view, resource view, and organization view. These constructs can further be used to structure and facilitate the design and implementation of detailed IT systems.
<!--missing figure-->
The division in different views makes it a clarifying reference for enterprise and software engineers. It shows information needs for different enterprise functionalities (activities, processes, operations) and corresponding resources. In this way, it can easily be determined which IT-system will fulfill the information needs in a certain activity and process.
===Integrated definition (IDEF)===
[[IDEF]] is a [[structured modeling]] technique, which was first developed for the modeling of manufacturing systems. It was already being used by the U.S. Airforce in 1981. Initially, it had 4 different notations to model an enterprise from a certain viewpoint. These were [[IDEF0]], [[IDEF1]], IDEF2 and [[IDEF3]] for functional, data, dynamic and process analysis respectively. In the past decades,
IDEF clearly shows how a business process flows through a variety of decomposed business functions with corresponding information inputs, outputs, and actors. Like CIMOSA, it also uses different enterprise views. Moreover, IDEF can be easily transformed into
===Petri Nets===
[[Petri net]]s are known tools to model manufacturing systems.<ref>Silva, M. and Valette, R. (1989); Petri nets and flexible manufacturing. Lecture Notes on Computer Science, 424, 374–417.</ref> They are highly expressive and provide good formalisms for the modeling of [[concurrent system]]s. The most advantageous properties are that of simple representation of states, concurrent system transitions, and capabilities to model the duration of transitions.
Petri nets, therefore, can be used to model certain business processes with corresponding state and transitions or activities
In recent years
===Unified modeling language===
[[Unified modeling language|UML]] is a broadly accepted modeling language for the development of software systems and applications. The
===Enterprise
EFD is a used modeling technique for the representation of enterprise functions and corresponding interactions. Different business processes can be modeled in these representations through the use of
In this way, EFD has many similarities with IDEF0 diagrams, which also represent in a hierarchical way business processes as a combination of functions and triggers.
EFD possibly could be used as a business front-end to a software modeling language like UML. The major resemblance with IDEF as a modeling tool indicates that it can be done. However, more research is needed to improve the EFD technique in such a way that formal mappings to UML can be made.<ref name="Kim"/> about the complementary use of IDEF and UML has contributed to the acceptance of IDEF as business-front end. A similar study should be done with EFD and UML.
|