==Development==
As the boundary of an enterprise is extended, it becomes increasingly important that a common “big"big picture”picture" of needed business, people and IT system activities is developed and shared by all the parties involved.<ref name="Kim">Kim & Weston & Hodgson & Lee (2002); The complementary use of IDEF and UML. Information system engineering, Deajon University South Korea, Computers & Industrial Engineering 50, 35–56.</ref> A functional software architecture does this by breaking down the organization in business functions and corresponding IT needs. In this way the enterprise engineer provides a rich schematic reference that can be used by the software engineer in the development of these IT-systems.
The development of a functional software architecture can be done by a number of (combined) methods and techniques. Filling in the “gap”"gap" between the enterprise engineers and software engineers through the use of different combinations of methods and techniques will be the main objective. However, this objective can only be reached when combined methods result in clear and rich functional software architectures that are developed and used by both parties.
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 creating activities with certain inputs and outputs, which are interconnected and thereby jointly contribute to the final outcome (product or service) of the process. Process reengineering covers a variety of perspectives of how to change the organization. It is concerned with the redesign of strategic, value adding processes, systems, policies and organizational structures to optimize the processes of an organization.<ref>Zakarian & Kusiak; Process analysis and reengineering: Department of Industrial Engineering, University of Iowa, USA, Computers & Industrial Engineering 41, 135–150</ref>
===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"object oriented community”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"enterprise building blocks”blocks", which includes resources, processes, goals, rules and metamodels.<ref>Eriksson & Penker (1998); UML Toolkit, Wiley, New York.</ref> 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’"pure’ business methods can be a better alternative.
===Enterprise Functionfunction Diagramsdiagrams===
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 “function"function modules”modules" and triggers. A starting business process delivers different inputs to different functions. A process flowing through all the functions and sub-functions creates multiple outputs. Enterprise function diagrams hereby give a very easy-to-use and detailed representation about a business process and corresponding functions, inputs, outputs and triggers.
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. Difference is that an EFD places the business functions in an organization hierarchical perspective, which outlines the downstream of certain processes in the organization. On the contrary, IDEF0 diagrams show responsibilities of certain business functions through the use of arrows. Also, IDEF0 has a clear representation of inputs and outputs of every (sub)function.
|