System Modeler in AB Suite Developer functions as a plug-in to Visual Studio and is a project in Visual Studio. It provides a model-based and OO development environment. As a model driven development environment, System Modeler allows you to focus on the logical requirements of a system without worrying about platform-specific implementation details. Because the models created in System Modeler are platform independent.
System Modeler enables you to model and build an application from the ground up, including the end-user presentation, classes, and objects that represent business logic, and automatic generation of the associated database tables.
In System Modeler, you define classes to represent logical entities. You define data by adding elements to a class. These elements can be simple data types, like numbers or text strings, or complex classes with members of their own. There are several ways to define the runtime behavior of a class. These include:
Adding logic to the class
Setting class properties
Defining relationships between the class and other elements in the model
System Modeler also provides a set of stereotypes that you can apply to classes to implement processing behavior. A stereotype is a concept from Unified Modeling Language (UML). It indicates to the model how an element should behave. For example, ispecs and segments are both classes, but they have different stereotypes.
As an OO and model driven development environment, System Modeler enables you to extend and reuse the logical elements in your models, and to integrate these elements with components developed in other environments. In System Modeler, you can define a logical representation of your business using OO development techniques such as encapsulation, composition, inheritance, and polymorphism.
The System Modeler consists of the following screen panes:
The Solution Explorer displays files of versionable elements of a project and project files of the AB Suite Client Framework applications such as, the DataModels project for all the client technologies, DataViewModels, Data Sources, and Views project for the WPF Client technology.
Each versionable element in the Solution Explorer can be manipulated by source control in standard ways such as addition to a version control bank, checking in, and checking out. The Class View, displays the hierarchy of classes and their members, and can be used to add new elements to the model, move and rename them. Its main function, however, is to select elements to be displayed in the Properties window of the Developer System Modeler.
The Properties window displays properties that are common to all the elements selected in the Class View or Solution Explorer. The properties in table format lists the property names and values. Changes in property values are applied to all selected elements.
The class view also shows a node for the project and each of the Segments it contains, but it shows all the elements in each of the classes in the project. As you select one or more elements in the class view or solution explorer, those properties that are common to those element types are displayed in the Properties window.
When you double-click any of the elements in the solution explorer or class view, the Developer System Modeler designer opens, with the tabbed pages appropriate to that kind of element. The Visual Studio searching mechanism is used to search the Agile Business Suite model too, as though the model is made up of files.
In addition to this, Developer System Modeler includes a Designer Window, which shows a number of views of an element in the model on a series of tabbed pages. The Designer page includes the following:
Documentation page – It shows a WYSIWYG text editor (based on the standard RichEdit control) for text or embedded OLE objects describing the element.
Members page – It shows the members visible to a namespace element. The list of parameters can be ordered to represent the order of parameters.
Logic Status page – It shows the logic for a method, profile or SQL script.
Dependencies page – It shows the relationships between this element and others. These relationships are actual (reflecting a dependency between this element and another).
Class diagram page – It shows a UML class diagram of the element and its member classes.
Painter page – It shows the design of the user interface, printed image, and teach screen for designing AB Suite applications.
Note: The Painter page is not available for AB Suite User Experience mode models. You must design the user interface separately from the AB Suite User Experience mode model by using the development tool of your chosen technology. For example, WPF Designer can be used for WPF/Extensible Application Markup Language (XAML) desktop applications. However, both the AB Suite and WPF projects can exist in the same solution to impart an integrated development experience.