Functional software architecture: Difference between revisions

Content deleted Content added
m References: Fixed some errors
Wolfling (talk | contribs)
m disambiguation link repair (You can help!)
Line 18:
Off course 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 understand by multiple actors.
 
Especially in the field of software engineering much tools (A4 Tool, CAME, ARIS) 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 (step2), 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 99:
 
===Unified Modeling Language===
[[Unified Modeling Language|UML]] is a broadly accepted modeling language for the development of software systems and applications. The, so called, “object oriented community” also tries to use UML for enterprise modeling purposes. They emphasize the use of enterprise objects or business objects from which complex enterprise systems are made. A collection of these objects and corresponding interactions between them can represent a complex business system or process. Where Petri Nets focus on the interaction and states of objects, UML focuses more on the business objects themselves. Sometimes these are called the “enterprise building blocks”, which includes resources, processes, goals, rules and metamodels [12]. Despite the fact that UML in this way can be used to model an integrated software system it has been argued that the reality of business can be modeled with a software modeling language. In reaction the object oriented community makes business extensions for UML and adapts the language. [[UEML]] is derived from UML and is proposed as a business modeling language. The question remains if this business transformation is the right thing to do. It was earlier said that UML in combination with other “pure’ business methods can be a better alternative.