The menus in the Software Factory represent different phases of the development process. This page gives a brief overview of these menus and their corresponding development phases. The menus are explained in more detail on the following pages:
- Specification - draw requirements and model the business processes
- Models - create a model and branches
- Data - model the domains, data model and data migration
- User interface - edit the user interface of the application
- Machine learning - apply automated machine learning in your software application
- Processes - set up your business processes
- Business logic - create the required functionality
- Quality - review, test and validate the model and business logic
- Access Control - configure roles by assigning permissions
- Enrichment - use ready-made solutions in your model or enrich your model with dynamic modeling
- Deployment - move the end product to deployment, test, acceptation, or production
- Analysis - view metrics about the project in the Software Factory development environment
The requirements are specified during the analysis phase. On the Business processes screen, you can work with the requirements specification in a process-oriented way. The Features screen in contrast enables a functional approach.
The requirements are used to continuously monitor the scope of the project. Work provides a to-do list for the modeling phase, and the Iterations screen can be used to plan the work. If you do not have an external tool to draw requirements and model the business processes, you can use this section of the Software Factory to do this.
Process analysis - BPMN diagram
Process analysis - Requirements
Application development in the Software Factory is done on a model basis, with every model containing one or more branches.
The Models menu contains information about all available models and branches.
The Overview screen contains all models that have been produced in the Software Factory. New models are also created here. Along with the basic information about the model, the branches can also be created and viewed here. Model content gives access to the complete model of a specific branch. With Merging, conflicts between branches can be analyzed and resolved before a branch is merged. The Difference analysis provides an overview of all the differences between two branches.
Model overview screen
The following components are specified during the data modeling phase:
- Data model
- Data sensitivity
- Data migration (for new versions)
These components form the basis for the database without the need to program them.
Data model design
During this phase, the user interface of the application is modeled. You can give a demo to the business to demonstrate at an early stage what the end product will look like and how it will work.
With automated machine learning, you can use predefined prediction models to solve classification and regression problems. You can use your historical data to train a model to provide valuable insights. Refer to the Introduction to machine learning to learn more about this process.
In this phase, you can add process flows to guide the users through the application's processes. You can also create tasks to automate user actions, and add custom designed reports to generate, print and email documents.
Process flow diagram
This phase of the model consists of defining the business logic. Business logic that cannot be modelled is created with source code templates. These templates are woven into the logic concepts in the end product based on the model definitions.
Business logic code template
During this phase, the implementation of the application is reviewed, tested, and validated.
The programmed templates can be reviewed by a co-developer to ensure high quality. Additionally, you can set up test cases that are stored in the Software Factory to test the programmed templates automatically.
You only need to enter test cases once, after which they can be executed automatically with every new branch. This guarantees that existing functionality continues to work, despite any additions and/or modifications.
Overview of the Test cases screen with a number of test suites
The Software Factory is delivered with hundreds of standard validations. Company-specific validations can also be added. The model can be validated completely or per component. If you execute the validations automatically, it guarantees the quality of the models.
Permissions on the Thinkwise Platform are managed using Role Based Access Control. Roles can be created and configured in the Software Factory and assigned to user groups in the Intelligent Application Manager.
Assigning permissions to roles
The Thinkstore contains useful ready-made solutions that you can download and install directly into your models. This will help you get the most out of the Thinkwise Platform.
You can also integrate dynamic modeling into your project. With dynamic modeling, you can dynamically expand your model using queries instead of having to build it graphically. This way, you can add conditional changes or extensions to your model.
The end product is taken into use during this phase. This phase has a dual place within the development process. Logically, the creation phase would be the last phase, since the end product is taken into production. However, this does not need to be the last phase in the Software Factory. An application can already be created and deployed after modeling and validating the data model.
Generating source code during the code generation
You can view management information and metrics about the projects in the Software Factory development environment. This includes the status of requirements and design specifications, validations, code templates, and test cases. You can also perform function point analysis to compute the amount of business functionality that is provided.