CASE-tools for the design of information systems. Case-technology for designing information systems

^

CASE-technology for designing information systems


  Over the past decade, a new direction has been formed in software engineering - CASE (Computer-Aided Software / System Engineering) - in literal translation - the development of software for information systems with the support (using) of a computer. There is currently no generally accepted definition of CASE; the term CASE is used in a very broad sense. The original meaning of the CASE term, limited by issues of automating the development of software only, has now acquired a new meaning, covering the development process of complex automated information systems as a whole. Now, the term CASE means software tools that support the processes of creating and maintaining IP, including analysis and formulation of requirements, designing application software (software) (applications) and databases, code generation, testing, documentation, quality assurance, configuration project management and management, as well as other processes. CASE-tools together with system software and hardware form a complete development environment for IP.

CASE-tools allow not only to create the "right" products, but also to ensure the "right" process of their creation. The main goal of CASE is to separate the design of IP from its coding and subsequent stages of development, as well as to hide from developers all the details of the development environment and the functioning of IP. When using CASE-technologies, all stages of the software life cycle (more about this will be discussed below) of the information system are changed, with the largest changes affecting the stages of analysis and design. Most existing CASE tools are based on structural (mainly) or object-oriented analysis and design methodologies that use specifications in the form of diagrams or texts to describe external requirements, relationships between system models, system behavior and software architecture. Such methodologies provide a rigorous and clear description of the projected system, which begins with its general overview and then is detailed, acquiring a hierarchical structure with an increasing number of levels. CASE-technologies are successfully used to build almost all types of IP, but they occupy a stable position in the following areas:


  •   ensuring the development of business and commercial IP, the widespread use of CASE-technologies is due to the mass character of this application area, in which CASE is used not only for the development of IP, but also for creating models of systems that help to solve the tasks of strategic planning, financial management, determining company policies, staff training and others (this direction received its own name - business analysis);

  •   development of system and control IP. The active use of CASE-technologies is associated with the great complexity of this problem and the desire to increase the efficiency of work.
CASE is not a revolution in software technology, but the result of the natural evolutionary development of the entire industry of tools, previously called instrumental or technological. From the very beginning, CASE-technologies developed in order to overcome the limitations when using structural design methodologies of the 60-70s. XX century (difficulties in understanding, high complexity and cost of use, difficulties in introducing changes to design specifications, etc.) due to their automation and integration of supporting tools. Thus, CASE-technologies cannot be considered independent methodologies, they only develop structural methodologies and make their application more effective due to automation.

In addition to the automation of structural methodologies and, as a consequence, the possibility of applying modern methods of system and software engineering, CASE-tools have the following main advantages:


  •   improve the quality of the created IP due to the means of automatic control (primarily project control);

  •   allow for a short time to create a prototype of the future system, which allows you to evaluate the expected result in the early stages;

  •   accelerate the design and development process;

  •   exempt the developer from routine work, allowing him to fully concentrate on the creative part of the development;

  •   support development and development support;

  •   support technology reuse component development.
The advent of CASE technology and CASE tools was preceded by research in the field of programming methodology. Programming acquired the features of a systematic approach with the development and implementation of high-level languages, structural and modular programming methods, design languages \u200b\u200band their support tools, formal and informal languages \u200b\u200bfor describing system requirements and specifications, etc. In the 70-80s. a structural methodology has begun to be applied in practice, which provides developers with rigorous formalized methods for describing IP and technical decisions made. It is based on a visual graphic technique: schemes and diagrams are used to describe various kinds of IP models. The visibility and rigor of structural analysis tools allowed developers and future users of the system from the very beginning to informally participate in its creation, discuss and consolidate an understanding of the main technical solutions. However, the widespread use of this methodology and following its recommendations in the development of contact information systems was quite rare, since it is practically impossible with manual (manual) development. This contributed to the emergence of a special class of software and hardware - CASE-tools that implement the CASE-technology of creating and maintaining IP.

You must understand that the successful use of CASE-tools is impossible without understanding the underlying technology on which these tools are based. By themselves, CASE software is a means of automating the design and maintenance of information systems. Without understanding the design methodology of IP, it is impossible to use CASE-tools.
^

Description of modern CASE-tools


  Modern CASE-tools cover a wide area of \u200b\u200bsupport for numerous IP design technologies: from simple analysis and documentation tools to full-scale automation tools covering the entire life cycle (IC) of IP.

The most time-consuming stages of IS development are the analysis and design stages, during which CASE-tools ensure the quality of technical decisions made and the preparation of project documentation. At the same time, the methods of visual presentation of information play an important role. This involves the construction of structural or other diagrams in real time, the use of a diverse color palette, an end-to-end check of syntactic rules. Graphic tools for modeling the domain allow developers to visualize the existing IP in a visual form, to rebuild it in accordance with the goals and limitations.

Relatively cheap systems for personal computers with very limited capabilities and expensive systems for heterogeneous computing platforms and operating environments fall into the category of CASE tools. So, the modern software market has about 300 different CASE-tools, the most powerful of which, one way or another, are used by almost all leading Western companies.

Typically, CASE-tools include any software that automates a particular set of processes of the IP life cycle and has the following main characteristic features:


  •   powerful graphical tools for describing and documenting IP, providing a convenient interface with the developer and developing his creative capabilities;

  •   the integration of individual components of CASE-tools, providing controllability of the process of developing IP;

  •   Using a specially organized repository of project metadata (repository). An integrated CASE-tool (or a set of tools that support a complete IC IC) contains the following components:

  •   repository, which is the basis of the CASE-tool. It should provide storage of versions of the project and its individual components, synchronization of information from various developers during group development, metadata control for completeness and consistency;

  •   graphical analysis and design tools that provide the creation and editing of hierarchically related diagrams (DFD, ERD, etc.) that form IP models;

  •   application development tools, including 4GL languages \u200b\u200band code generators;

  •   configuration management tools;

  •   documentation tools;

  •   testing tools;

  •   project management tools;

  •   reengineering tools.
All modern CASE tools can be classified mainly by type and category. Classification by type reflects the functional orientation of CASE-funds on certain processes of life cycle. Classification by categories determines the degree of integration by the functions performed and includes individual local tools that solve small autonomous tasks (tools), a set of partially integrated tools that cover most stages of the IP life cycle (toolkit) and fully integrated tools that support the entire IC life cycle and are connected by a common repository . In addition, CASE-funds can be classified according to the following criteria:

  •   applicable methodologies and models of systems and databases;

  •   degree of integration with the DBMS;

  •   affordable platforms.
  Classification by types basically coincides with the component composition of CASE-tools and includes the following main types (after the name of the tool, the developer is indicated in brackets):

  • analysis tools (Upper CASE), designed to build and analyze domain models (Design / IDEF (Meta Software), BPWin (Logic Works));

  • analysis and design tools (Middle CASE), supporting the most common design methodologies and used to create design specifications (Vantage Team Builder (Cayenne), Designer / 2000 (Oracle), Silverrun (CSA), PRO-IV (McDonnell Douglas), CASE. Analyst (Macro Project)). The output of such tools is the specification of components and interfaces of the system, system architecture, algorithms and data structures;

  • database design tools, providing data modeling and database schema generation (usually in SQL) for the most common DBMSs. These include ERwin (Logic Works). S-Designor (SDP) and DataBase Designer (Oracle). Database design tools are also available as part of CASE-tools Vantage Team Builder, Designer / 2000, Silverrun and PRO-IV;

  • application development tools. These include 4GL tools (Uniface (Compuware), JAM (JYACC), PowerBuilder (Sybase), Developer / 2000 (Oracle), New Era (Informix), SQL Windows (Gupta), Delphi (Borland), etc.) and generators codes included in Vantage Team Builder, PRO-IV and partially in Silverrun;

  • reengineering tools, providing analysis of program codes and database schemes and the formation on their basis of various models and design specifications. Database schema analysis and ERD generation tools are part of Vantage Team Builder, PRO-IV, Silverrun, Designer / 2000, ERwin and S-Designor. In the field of analysis of program codes, the most widely used are object-oriented CASE tools that provide reengineering of C ++ programs (Rational Rose (Rational Software), Object Team (Cayenne)). Helper types include:

  •   project planning and management tools (SE Companion, Microsoft Project, etc.);

  •   configuration management tools (PVCS (Intersolv));

  •   testing tools (Quality Works (Segue Software));

  •   Documentation Tools (SoDA (Rational Software)).
  To date, the Russian software market has the following most developed CASE-tools:

    •   Silverrun;

    •   Designer / 2000;

    •   Vantage Team Builder (Westmount I-CASE);

    •   ERwin + BPwin;

    •   S-Designor;

    •   CASE Analyst.
  In addition, both new systems for domestic users (for example, CASE / 4/0, PRO-IV, System Architect, Visible Analyst Workbench, EasyCASE), as well as new versions and modifications of the listed systems constantly appear on the market.

We describe the main features of CASE-tools on the example of the widely used Silverrun system.

CASE-tool Silverrun of the American company Computer Systems Advisers, Inc. (CSA) is used for the analysis and design of business-class IP and is focused more on the spiral model of the LC. It is applicable to support any methodology based on the separate construction of functional and information models (data flow diagrams and entity-relationship diagrams).

Tuning to a specific methodology is ensured by the choice of the required graphical notation of models and a set of rules for checking design specifications. The system has ready-made settings for the most common methodologies: DATARUN (the main methodology supported by Silverrun), Gane / Sarson, Yourdon / DeMarco, Merise, Ward / Mellor, Information Engineering. For each concept introduced in the project, it is possible to add your own descriptors. The Silverrun architecture allows you to grow your development environment as needed.

Silverrun has a modular structure and consists of four modules, each of which is an independent product and can be purchased and used without communication with the rest modules.

Module building business process modelsin the form of diagrams of data flows (BPM - Business Process Modeler) allows you to simulate the functioning of the organization under study or created IS. The BPM module provides the ability to work with models of great complexity: automatic renumbering, work with the process tree (including visual dragging of branches), detaching and connecting parts of the model for collective development. Charts can be displayed in several predefined notations, including Yourdon / DeMarco and Gane / Sarson. It is also possible to create your own notations, including adding user-defined fields to the number of descriptors shown on the diagram.

Module conceptual data modeling(ERX - Entity-Relationship eXpert) provides the construction of entity-relationship data models that are not tied to a specific implementation. This module has a built-in expert system that allows you to create the correct normalized data model by answering substantive questions about the relationship of data. It is possible to automatically build a data model from descriptions of data structures. An analysis of the functional dependencies of the attributes makes it possible to verify the compliance of the model with the requirements of the third normal form and ensure their implementation. The verified model is transferred to the RDM module.

Module relational modeling(RDM-Relational Data Modeler) allows you to create detailed models of "entity-relationship", intended for implementation in a relational database. This module documents all constructions associated with building a database: indexes, triggers, stored procedures, etc. Flexible mutable notation and extensibility of the repository allow you to work by any methodology. The ability to create subcircuits follows ANSI SPARC's approach to representing database schemas. In the language of subcircuits, both distributed processing nodes and user representations are modeled. This module provides the design and complete documentation of relational databases.

^ Repository manager workgroup Repository Manager (WRM) is used as a data dictionary for storing information common to all models, and also provides the integration of Silverrun modules into a single design environment.

Silverrun’s lack of tight mutual control between components of different models (for example, the ability to automatically propagate changes between DFDs of different levels of decomposition) is a payment for the high flexibility and variety of visual modeling tools. However, it should be noted that this drawback can be significant only in the case of using the cascade model of IC IC.

For the automatic generation of database schemas, Silverrun has bridges to the most common DBMSs: Oracle, Informix, DB2, Ingres, Progress, SQL Server, SQLBase, Sybase. There are bridges to 4GL languages \u200b\u200bfor transferring data to application development tools: JAM, PowerBuilder, SQL Windows, Uniface, NewEra, Delphi. All bridges allow loading information from catalogs of corresponding DBMS or 4GL languages \u200b\u200binto Silverrun RDM. This allows you to document, redesign or transfer to existing platforms databases and application systems that are already in operation. When using the bridge, Silverrun expands its internal repository with attributes specific to the target system. After determining the values \u200b\u200bof these attributes, the application generator transfers them to the internal directory of the development environment or uses it to generate SQL code. Thus, it is possible to completely define the database engine using all the capabilities of a particular DBMS: triggers, stored procedures, and referential integrity restrictions. When creating a 4GL application, the data transferred from the Silverrun repository is used either to automatically generate interface objects or to quickly create them manually.

To exchange data with other means of design automation, create specialized procedures for analysis and verification of design specifications, compile specialized reports in accordance with various standards in the Silverrun system, there are three ways to transfer design information to external files:


  •   reporting system. You can, having determined the contents of the report by the repository, output the report to a text file. This file can then be loaded into a text editor or included in another report;

  • export / import system. For more complete control over the file structure in the export / import system, it is possible to determine not only the contents of the export file, but also the delimiters of records, fields in records, markers of the beginning and end of text fields. Files with the specified structure can not only be generated, but also uploaded to the repository. This makes it possible to exchange data with various systems: other CASE-tools, DBMS, text editors and spreadsheets;

  •   storage of the repository in external files through ODBC drivers. To access repository data from the most common database management systems, it is possible to store all project information directly in the format of these DBMSs.
  Group work is supported on Silverrun in two ways:

  •   in the standard single-user version there is a mechanism for controlled separation and merging of models. Dividing the model into parts, you can distribute them to several developers. After detailed refinement, the models are combined into a single specification;

  •   the online version of Silverrun allows simultaneous group work with models stored in a network repository based on Oracle, Sybase, or Informix DBMS. At the same time, several developers can work with the same model, since objects are locked at the level of individual elements of the model.
  There are Silverrun implementations of three platforms - MS Windows, Macintosh, and OS / 2 Presentation Manager - with the ability to exchange design data between them.

In addition to the Silverrun system, we indicate the purpose of other popular CASE tools and their groups.

Vantage Team Builder is an integrated software product focused on the implementation of a cascading model of IC ICs and support for a complete IC IC.

Uniface 6.1, a product of Compuware (USA), is a development environment for large-scale applications in the client-server architecture.

Oracle's Designer / 2000 2.0 CASE tool is an integrated CASE tool that, in conjunction with Developer / 2000 application development tools, provides full LC support for systems using Oracle DBMSs.

The CASE / 4/0 package (microTOOL GmbH), which includes structural tools for system analysis, design and programming, provides support for the entire development life cycle (up to maintenance), based on a network repository that controls the integrity of the project and supports the coordinated work of all its participants (system analysts, designers, programmers).
^

Local funds


  The ERWin package (Logic Works) is used to model and create databases of arbitrary complexity based on entity-relationship diagrams. Currently, ERWin is the most popular package of data modeling due to the support of a wide range of DBMSs of various classes - SQL servers (Oracle, Informix, Sybase SQL Server, MS SQL Server, Progress, DB2, SQLBase, Ingress, Rdb, etc.) and "desktop" DBMSs of the xBase type (Clipper, dBase, FoxPro, MS Access, Paradox, etc.).

BPWin is a functional modeling tool that implements the IDEFO methodology. The model in BPWin is a collection of SADT diagrams, each of which describes a separate process, breaking it down into steps and subprocesses.

S-Designer 4.2 (Sybase / Powersoft) is a CASE-based tool for designing relational databases. By its functionality and cost, it is close to the CASE-tool ERWin, differing in the notation externally used in diagrams. S-Designer implements a standard data modeling methodology and generates a database description for DBMSs such as Oracle, Informix, Ingres, Sybase, DB2, Microsoft SQL Server, etc.

CASE-Analyst 1.1 (Eitex) is practically the only currently competitive domestic CASE-tool for functional modeling and implements the construction of data flow diagrams in accordance with the previously described methodology.
^

Object Oriented CASE Tools


Rational Rose - CASE-tool company Rational Software Corporation (USA) - is designed to automate the stages of analysis and design of IP, as well as to generate codes in various languages \u200b\u200band the release of project documentation. Rational Rose uses a synthesis methodology of object-oriented analysis and design based on the approaches of three leading experts in this field: Bucha, Rambo and Jacobson. The universal notation developed by them for modeling objects (UML - Unified Modeling Language) is currently and obviously will remain the generally accepted standard in the field of object-oriented analysis and design in the future. The specific version of Rational Rose is determined by the language in which the program codes are generated (C ++, Smalltalk, PowerBuilder, Ada, SQLWindows and ObjectPro). The main option - Rational Rose / C ++ - allows you to develop project documentation in the form of diagrams and specifications, as well as generate program codes in C ++. In addition, Rational Rose includes software reengineering tools that enable the reuse of software components in new projects.
^

Configuration Management Tools


  The purpose of configuration management (KU) is to provide controllability and controllability of the processes of development and maintenance of IP. This requires accurate and reliable information about the state of the IP and its components at any time, as well as about all the expected and completed changes.

To solve the problems of KU, methods and tools are used to ensure the identification of the state of components, taking into account the nomenclature of all components and modifications of the system as a whole, control over changes made to components, the structure of the system and its functions, as well as coordinated management of the development of functions and improvement of characteristics system.

The most common KU tool is Intersolv PVCS (USA), which includes a number of independent products: PVCS Version Manager, PVCS Tracker, PVCS Configuration Builder and PVCS Notify.
^

Documentation Tools


  To create documentation in the process of developing AIS, various reporting tools are used, as well as components of publishing systems. Typically, documentation tools are built into specific CASE tools. An exception are some packages that provide an additional service for documentation. Of these, SoDA (Software Document Automation) is most actively used.

The SoDA product is designed to automate the development of design documentation for all phases of the IC IC. It allows you to automatically extract a variety of information received at different stages of project development, and include it in the output documents. At the same time, the compliance of the documentation with the project, the relationship of the documents are controlled, and their timely updating is ensured. The resulting documentation is automatically generated from a variety of sources, the number of which is not limited.

The package includes a graphical editor for preparing document templates. It allows you to set the necessary style, background, font, determine the location of the headers, reserve the places where the information extracted from various sources will be placed. Changes are automatically made only to those parts of the documentation that they affected in the program. This reduces the time for preparing documentation due to the refusal to regenerate all documentation.

SoDA is implemented on the basis of the FrameBuilder publishing system and provides a complete set of tools for editing and layout of published documentation.

The final result of the SoDA system is a finished document (or book). The document can be stored in a SoDA (Frame Builder) format file, which is obtained as a result of document generation. The printing of this document (or part thereof) is possible from the SoDA system.

The SoDA environment is UNIX-type OS on Sun SPARCstation, IBM RISC System / 6000, or Hewlett Packard HP 9000 700/800 workstations.
^

Testing tools


  Testing refers to the process of program execution in order to detect errors. Regression testing is testing that is carried out after improving the functions of a program or making changes to it.

One of the most developed QA testing tools (new name - Quality Works) is an integrated, multi-platform environment for developing automated tests of any level, including regression tests for applications with a graphical user interface.

QA allows you to start testing on any phase of the life cycle, plan and manage the testing process, display changes in the application and reuse tests for more than 25 different platforms.

In conclusion, we give an example of a complex of CASE-tools that provides support for a full IC IC. It is impractical to compare individual CASE-tools, since none of them solves in general all the problems of creating and maintaining IP. This is also confirmed by a complete set of evaluation and selection criteria that affect all stages of the IC IP. Complexes of methodologically and technologically coordinated tools can be compared that support a complete LC of IP and provided with the necessary technical and methodological support from suppliers (note that the rational integration of tools for developing IP is an important condition for ensuring the quality of this IP, and this observation is true for all subject areas).

Lecture number 8

Layered Architecture 9

Internet / Intranet Technologies 10

Requirements for information systems 10

Flexibility 11

Reliability 11

Efficiency 11

Security 12

Information Systems Life Cycle 16

Project Management Overview 17

^ Project Classification 18

The main phases of the design of the information system 18

Concept Phase 19

Preparation of a technical proposal 19

Design 19

Development 20

Putting the system into operation 20

Processes that occur throughout the life cycle of an information system 21

^ Key life cycle processes 21

Development 21

Operation 21

Escort 22

Supporting life cycle processes 23

Organizational Processes 23

The life cycle structure of an information system 23

Initial Stage 24

Clarification Step 24

^ Stage of construction 24

Stage of commissioning 24

Information Systems Life Cycle 28

Information System Life Cycle Models 28

^ Cascading model of the life cycle of an information system 29

The main stages of development according to the cascade model 29

The main advantages of the cascade model 29

The disadvantages of the cascade model 30

^ Spiral Life Cycle Model 31

Iteration 31

Benefits of Spiral Model 32

The disadvantages of the spiral model 33

Methodology and technology for the development of information systems 37

RAD 40 Methodology

Key Features of the RAD 40 Methodology

^ Object Oriented Approach 41

Visual Programming 42

Event Programming 43

Life Cycle Phases under the RAD 44 Methodology

Requirement Analysis and Planning Phase 44

Design phase 44

Build Phase 45

Implementation Phase 46

^ Limitations of the RAD 46 Methodology

Methodology and technology for the development of information systems 51

Open Information Systems Profiles 51

Information System Profile Concept 52

The principles of forming the profile of an information system 53

^ The structure of information systems profiles 55

Application Software Profile 57

Information System Environment Profile 57

Information Security Profile 58

Tool Profile 58

^ Methodology and technology for the development of information systems 63

Standards and methodologies 63

Types of Standards 64

Oracle 65 CDM technique

General structure 66

Features of the CDM 68 technique

^ International Standard ISO / IEC 12207: 1995-08-01 69

General structure 69

Main and auxiliary processes LC 69

Features of ISO 12207 71

CASE-technology for designing information systems 77

Characteristics of modern CASE-tools 80

^ Local Tools 86

Object Oriented CASE Tools 87

Configuration Management Tools 87

Documentation Tools 87

Testing Tools 88

The principles of construction and design stages of databases 93

Basic concepts and definitions 93

Domain 99 Descriptive Model

^ Principles of construction and design stages of databases 111

Conceptual Data Models 111

Types of data structures 112

Data Operations 113

^ Integrity Constraints 114

Hierarchical Data Model 115

Network Data Model 117

Relational data model 118

Binary Data Model 119

Semantic Network 119

Information Systems Modeling Technology 124

System Modeling Methods 124

^ The mathematical model of the system 126

Classification of Mathematical Models 128

Simulation models of information systems 136

Methodological foundations of the simulation method 136

^ Simulation models of information systems 146

Classification of simulation models 146

The structure of a typical simulation model with a calendar of events 153

^ Simulation models of information systems 161

Random Factor Modeling Technology 161

Pseudorandom Number Generation (PSN) 161

Multiplicative Method 163

Additive Method 164

Mixed Method 164

^ Modeling random events 165

Sequential Simulation 167

Modeling after preliminary calculations 167

Simulation models of information systems 172

Random Factor Modeling Technology 172

^ Random Value Modeling 172

Modeling Continuous Random Variables 173

Inverse Function Method 173

Method of exclusion (Neumann) 174

Composition Method 176

Modeling Discrete Random Variables 177

Sequential Comparison Method 177

Interpretation Method 178

^ Random Vector Modeling 178

Conditional Distribution Method 179

The method of exclusion (Neumann) 180

Linear Transformation Method 181

Simulation models of information systems 187

The basics of organization of simulation modeling 187

^ Stages of simulation 187

Simulation Model Test 188

Setting the source information 189

Verification of the simulation model 189

Model 189 Adequacy Check

Calibration Simulation Model 190

The study of the properties of the simulation model 190

Evaluation of the simulation error associated with the use of pseudorandom number generators (PSC) in the model 190

Determination of the duration of the transition mode 191

Evaluation of the stability of the simulation results 192

Sensitivity Study Model 192

^ Modeling Languages \u200b\u200b193

IP Design Approaches.

Two main approaches to the design of information systems can be distinguished:

· structural

· process .

Structural approach  based on the use of the organizational structure of the company, when the design of the system goes through structural units. Technology of activity in this case is described through the technology of work of structural units and their interaction.

If a company is a complex structure such as a holding, or an enterprise network, then it is also necessary to have a model for the interaction of all its constituent elements, which will reflect not only technological, but also financial and legal aspects.

Main disadvantage  a structural approach is the link to the organizational structure, which changes very quickly, so you often have to make changes to the system project of the information system. And changing the finished IP, as a rule, is a rather laborious, lengthy and tedious process.

Process approach  focused not on the organizational structure, but on business processes, i.e. for example, a company is engaged in the supply of equipment, the supply of components and spare parts, equipment maintenance, etc. These will be its business processes, which should be analyzed at the first stage of IP design.

The process approach is more promising because business processes, in contrast to the organizational structure, change less frequently. Moreover, the main business processes in the enterprise are few, usually no more than ten.

In modern conditions, the complexity of creating information systems is very high. Therefore, when designing IP systems, CASE technology has now become widely used.

CASE technology   - This is a software package that automates the entire technological process of analysis, design, development and maintenance of complex software tools.

Modern CASE tools cover a wide area of \u200b\u200bsupport for numerous IP design technologies: from simple analysis and documentation tools to full-scale automation tools covering the entire software life cycle.

The most time-consuming stages of IS development are analysis and design stages, during which CASE-tools provide high quality of technical decisions and preparation of project documentation. At the same time, graphical modeling tools for the subject area play an important role, which allow developers to visually examine the existing IP, to rebuild it in accordance with the goals and limitations.

Integrated CASE tools have the following salient features:



· Providing management of the IP development process;

· Using a specially organized repository of project metadata (repository).

Integrated CASE tools contain the following components:

· Graphical analysis and design tools used to describe and document IP;

· Application development tools, including programming languages \u200b\u200band code generators;

· A repository that provides storage of versions of a developed project and its individual components, synchronization of information from various developers during group development, metadata control for completeness and consistency;

· Management tools for the development of IP;

· Documentation tools;

· Testing tools;

· Reengineering tools that provide analysis of program codes and database schemes and the formation on their basis of various models and design specifications.

All modern CASE-tools are divided into two groups. First grouporganize tools built into the implementation system in which all design and implementation decisions are tied to the selected database management system. Second grouporganize funds independent of the implementation system, in which all design decisions are focused on the unification of the initial stages of the life cycle and the means of their documentation. These tools provide greater flexibility in the choice of means of implementation.

Main dignity  CASE-technologies - support for team work on a project due to the possibility of working in a local network, export and import of individual fragments of a project between developers, and organized project management.

As stages  the creation of software products for information systems can distinguish the following:

1. The operating environment is determined. At this stage, a set of IP life cycle processes is determined, the scope of IP is determined, the size of supported applications is determined, i.e. restrictions are set on such quantities as the number of lines of program code, the size of the database, the number of data elements, the number of control objects, etc.

2. The construction of diagrams and graphical analysis. At this stage, diagrams are built that establish a connection with information sources and consumers, which determine the processes of data conversion and their storage location.

3. The specifications and requirements for the system are determined (type of interface, data type, system structure, quality, performance, hardware, total costs, etc.).

4. Data modeling is performed, i.e. information is entered that describes the data elements of the system and their relationships.

5. Process simulation is performed, i.e. information is introduced that describes the processes of the system and their relationships.

6. The design of the future software architecture is ongoing.

7. The simulation is performed, ie modeling of various aspects of the functioning of the system based on specifications of requirements and / or design specifications.

8. Prototyping, i.e. a preliminary version of the entire system or its individual components is created.

9. Tracing, an analysis of the functioning of the system from specification of requirements to the final results is performed.

10. The program code is generated, compiled and debugged.

11. Testing of received software. Analysis and evaluation of the results.

CASE-tools for designing information systems

In modern conditions, the complexity of creating information systems is very high. Therefore, when designing IP systems, CASE technology has now become widely used.

CASE technology   - This is a software package that automates the entire technological process of analysis, design, development and maintenance of complex software tools.

Modern CASE tools cover a wide area of \u200b\u200bsupport for numerous IP design technologies: from simple analysis and documentation tools to full-scale automation tools covering the entire software life cycle.

The most time-consuming stages of IS development are analysis and design stages, during which CASE-tools provide high quality of technical decisions and preparation of project documentation. At the same time, graphical modeling tools for the subject area play an important role, which allow developers to visually examine the existing IP, to rebuild it in accordance with the goals and limitations.

Integrated CASE tools have the following salient features:

· Providing management of the IP development process;

· Using a specially organized repository of project metadata (repository).

Integrated CASE tools contain the following components:

· Graphical analysis and design tools used to describe and document IP;

· Application development tools, including programming languages \u200b\u200band code generators;

· A repository that provides storage of versions of a developed project and its individual components, synchronization of information from various developers during group development, metadata control for completeness and consistency;

· Management tools for the development of IP;

· Documentation tools;

· Testing tools;

· Reengineering tools that provide analysis of program codes and database schemes and the formation on their basis of various models and design specifications.

All modern CASE-tools are divided into two groups. First grouporganize tools built into the implementation system in which all design and implementation decisions are tied to the selected database management system. Second grouporganize funds independent of the implementation system, in which all design decisions are focused on the unification of the initial stages of the life cycle and the means of their documentation. These tools provide greater flexibility in the choice of means of implementation.

Main dignity  CASE-technologies - support for team work on a project due to the possibility of working in a local network, export and import of individual fragments of a project between developers, and organized project management.

As stages  the creation of software products for information systems can distinguish the following:

1. The operating environment is determined. At this stage, a set of IP life cycle processes is determined, the scope of IP is determined, the size of supported applications is determined, i.e. restrictions are set on such quantities as the number of lines of program code, the size of the database, the number of data elements, the number of control objects, etc.

2. The construction of diagrams and graphical analysis. At this stage, diagrams are built that establish a connection with information sources and consumers, which determine the processes of data conversion and their storage location.

3. The specifications and requirements for the system are determined (type of interface, data type, system structure, quality, performance, hardware, total costs, etc.).

4. Data modeling is performed, i.e. information is entered that describes the data elements of the system and their relationships.

5. Process simulation is performed, i.e. information is introduced that describes the processes of the system and their relationships.

Lecture 16-1 CASE-TECHNOLOGIES IN THE CREATION OF IP

Solving design problems of large dimensions requires the use of appropriate methods and models. Hierarchical CASE-models (Computer-Aided Software / System Engineering - designing software / systems based on computer support) largely meet the requirements for them.

Almost no large foreign software product is currently being created without the use of CASE-tools, and in many industries of leading countries (especially the public sector, defense sector, mining) the preparation of project documentation using CASE-tools is a necessary requirement of standards.

The scope of CASE-technologies is, first of all, the creation of economic IP, especially where the problems are very complex, for example, in corporate IP.

The basis of the CASE-methodology is modeling. CASE technology is a model method for automating system design.

CASE-technology is based on the relationship:

methodology - method - notations - means

Methodology  defines the general approaches to the assessment and selection of a system variant, the sequence of stages and design stages, approaches to the selection of methods.

Method  specifies the design procedure for the individual components of the system (for example, methods for designing data flows in the system, setting process descriptions, representing data structures in the repository, etc. are known).

Notation  - graphical means of notation and rules designed to describe the structure of the system, the stages of information processing, data structure (graphs, charts, tables, flowcharts, formal and natural languages).

Facilities  - tools, tools for providing an interactive design mode (creating and editing a graphic design of IP and code generation programs).

Building a CASE-model of the system provides for the decomposition of the system and hierarchical ordering of subsystems.

The system model should reflect: the functional part of the system; relationship between data; transitions of system states during operation.

For modeling IP in these aspects, varieties of graphical tools are used:

1. Data flow diagrams - DFD (Data Flow Diagrams). They are used in conjunction with data dictionaries and process specifications.

2. Charts "entity-relationship" - ERD (Entity Relationship Diagrams), showing the relationship between the data.

3. State transition diagrams - STD (State Transitign Diagrams) to reflect the time-dependent behavior of the system (in real time).

The leading role in modeling belongs to DFD.

DFD is designed to reflect the relationships of data sources and receivers, data streams, processing processes (computational processes corresponding to the functions of the system), data storages (drives).

A graphical representation of the data flow diagram on the display screen provides the simplicity of modeling and the convenience of adjusting interactively. Since the graphical representation is not enough to accurately determine the components of the DFD, textual descriptions are used.

Each process (system function) can be detailed using the lower-level DFD, where it is divided into several processes with simultaneous refinement of data flows. Detailing of processes ends when a description of each detailed process can be done using the selected method of writing a process algorithm.

Visual languages \u200b\u200bprovide automatic code generation, but the process specifications presented with their help are difficult to correct.

An important methodological principle of the CASE-technology for creating an information system is a clear separation of the system creation process into 4 stages:

Pre-design (stage of analysis, prototyping, and building a model of the system requirements);

Design, involving the logical design of the system (without programming);

Stage of programming (including designing a physical database);

Post-project, including the commissioning, operation and maintenance of the system.

At the pre-design stage, a model of requirements for the system is built, i.e., a detailed description of what it should do without specifying ways to implement the requirements.

At the design stage, the requirements model is refined (development of a detailed hierarchical model based on DFD and process specifications) and its extension to the implementation model at the logical level.

At the programming stage, the physical design of the system is carried out. This stage provides automatic code generation according to the specifications of the system software processes and physical design of the database.

The final post-project stage begins with acceptance tests. This is followed by the commissioning, maintenance and development of the system.

Advantages of CASE technology:

1. CASE-technology creates the opportunity and involves the transfer of the center of gravity in the complexity of creating a system at the pre-design and design stages. Careful study of these stages in an interactive mode with computer support reduces the number of possible design errors, which are difficult to correct at subsequent stages.

2. The graphic form of the model presentation, accessible for understanding by non-programmer users, allows implementing the principle of user design, which provides for the participation of users in the creation of the system. CASE-model allows to achieve mutual understanding between all participants in the creation of the system (customers, users, designers, programmers).

3. The presence of a formalized model of the system at the pre-design stage creates the opportunity for multivariate analysis with an approximate assessment of the effectiveness of options. Analysis of the prototype system allows you to adjust the future system before it is physically implemented. This speeds up and reduces the cost of creating a system.

4. The formalization of the requirements for the system saves designers from numerous adjustments.

5. The separation of system design from programming creates the stability of design solutions for implementation on different software and hardware platforms.

6. The presence of a formalized model for the implementation of the system and appropriate automation tools allows automatic code generation of the system software and a rational database structure.

7. At the stage of operation of the system, it becomes possible to make changes at the model level, without resorting to the texts of the programs, possibly by the specialists of the automation department of the company.

8. The system model can be used not only as the basis for its creation, but also for the purpose of automated training of personnel using diagrams.

9. Based on the model of the current system, a business analysis can be performed to support management decisions and business reengineering when changing the direction of the company.

Depending on the functional purpose, the software that provides the CASE-technology is divided into the following classification groups that provide:

Analysis and design of an information system;

Database design;

Programming;

Maintenance and reengineering;

Management of the design process.

Analysis and design tools are used to build a CASE-model of both the current and the implemented control system. They support the graphical construction and control of a hierarchical model of diagrams of data flows and a description of its components. These tools allow analysts and designers to access the database of the designed system. Such funds include: domestic package CASE. Analyst, Design / IDEF (Meta Software), The Developer (ASYST Technologies), etc.

To coordinate user requirements, prototypes of user interfaces are created, including menus, screen forms and reports in the form of tables or graphs. An example is Developer / 2000 (Oracle).

Database design tools provide logical data modeling, automatic conversion of data models to the third normal form and generation of database schemas. Examples of such tools are Designer / 2000 from Oracle, ERWin (Logic Works), etc.

Programming tools support automatic code generation from process specifications, testing and documenting programs. These include Programmer / 2000 (Oracle), DECASE (DEC), APS (Sage Software), etc.

Maintenance and reengineering tools allow you to make changes to the system under changing business conditions (Adpac CASE Tools by Adpac and others).

The design process management tools support the planning and monitoring of a range of design work, as well as the interaction of analysts, designers and programmers based on a common database (Project Workbench from Applied Business Technology).

In the 70–80s, the structural methodology was widely used to automate the design and development of information systems, which means the use of formalized methods for describing the system being developed and the technical decisions made. In this case, graphical tools were used to describe various models of information systems using diagrams and diagrams. This was one of the reasons for the appearance of software and technology tools, called CASE-tools and implementing CASE-technologies for creating and maintaining information systems.

The term CASE (Computer Aided Software / System Engineering) is used in a very broad sense. The original meaning of the CASE term was limited only to software development automation issues. Currently, the term has gained a broader meaning, meaning automation of the development of information systems.

CASE- facilities  represent software tools supporting the creation and / or maintenance of information systems, such as: analysis and formulation of requirements, designing databases and applications, code generation, testing, quality assurance, configuration and project management.

CASE- the system  can be defined as a set of CASE-tools that have a specific functional purpose and are implemented as part of a single software product.

CASE- technology  It is a set of methodologies for analysis, design, development and maintenance of complex systems and is supported by a set of interconnected automation tools.

CASE- industry  unites hundreds of firms and companies of various focuses. Almost all serious foreign software projects are implemented using CASE-tools, and the total number of distributed packages exceeds 500 items.

primary goal  CASE systems and tools  consists in separating software design from its coding and subsequent development stages (testing, documentation, etc.), as well as automating the entire process of creating software systems, or engineering  (from English engineering - development).

Modern CASE-tools support a variety of technologies for designing information systems: from simple analysis and documentation tools to full-scale automation tools covering the entire software life cycle.

The most time-consuming stages of IS development are analysis and design stages, during which CASE-tools ensure the quality of technical solutions and the preparation of project documentation. An important role is played by the methods of visual presentation of information. This involves the construction of structural or other diagrams in real time, the use of a diverse color palette, an end-to-end check of syntactic rules. Graphical domain modeling tools allow developers to visually examine the existing information system, rebuild it in accordance with the goals and limitations.

CASE-tools form the basis of the design of any IP. The methodology is implemented through specific technologies and supporting standards, techniques and tools that ensure the implementation of the life cycle processes of information systems.

Characteristic features of CASE-tools:

- Single graphic language. CASE-technologies provide all project participants, including customers, with a single, rigorous, visual and intuitive graphical language, which allows to obtain visible components with a simple and clear structure. At the same time, programs are represented by two-dimensional schemes (easier to use than multi-page descriptions), allowing the customer to participate in the development process, and developers to communicate with domain experts, share the activities of system analysts, designers and programmers, making it easier for them to protect the project before management, as well as providing ease of maintenance and changes to the system.

- Unified project database. The basis of CASE-technology is the use of the project database (repository) to store all information about the project, which can be shared by developers in accordance with their access rights. The contents of the repository include not only information objects of various types, but also the relationships between their components, as well as the rules for using or processing these components. The repository can store objects of various types: structural diagrams, definitions of screens and menus, report designs, data descriptions and their processing logic, as well as data models, organization and processing, source codes, data elements, etc.

- integration of funds. Based on the repository, CASE-tools are integrated and system information is shared between developers. At the same time, the repository capabilities provide several levels of integration: a common user interface for all means, data transfer between tools, integration of development stages through a single system of representing the phases of the life cycle, data and tool transfer between different platforms.

- Support for team development and project management. CASE-technology supports the group development of the project, providing the opportunity to work on the network, export-import of any fragments of the project for their development and / or modification, as well as planning, control, management and interaction, that is, the functions necessary in the process of development and maintenance of projects. These functions are also implemented on the basis of the repository. In particular, through the repository, security control (access restrictions and privileges), version and change control, etc. can be implemented.

- Prototyping. CASE-technology makes it possible to quickly build mock-ups (prototypes) of the future system, which allows the customer to evaluate at the early stages of development how much it suits him and how acceptable it is for future users.

- Documentation Generation. All project documentation is automatically generated on the basis of the repository (as a rule, in accordance with the requirements of current standards). The undoubted advantage of the CASE-technology is that the documentation always meets the current state of affairs, since any changes in the project are automatically reflected in the repository (it is known that with traditional approaches to software development, the documentation is late at best, and a number of modifications are not found at all her reflection).

- Project verification. CASE-technology provides automatic verification and control of the project for completeness and consistency in the early stages of development, which affects the success of the development as a whole.

- Automatic code generation. Program code is generated based on the repository and allows you to automatically build up to 85–90% of texts in high-level languages.

- Maintenance and reengineering. System support within the framework of CASE-technology is characterized by project support, not software codes. Reengineering tools allow you to create a system model from its codes and integrate the resulting models into the project, automatically update documentation when changing codes, automatically change specifications when editing codes, etc.

Program development begins with some preliminary version of the system. A specially developed prototype or an outdated system can act as such an option. In the latter case, re-development - reengineering is used to restore knowledge about the software system for the purpose of their subsequent use.

Re-development comes down to building the original model of a software system by examining its software codes. Having a model, you can improve it, and then go back to development. One of the best known principles of this type is the Round Trip Engineering (RTE) principle.

Modern CASE-systems provide both primary and re-development, which significantly speeds up application development and improves their quality.

Currently, among other requirements for CASE-funds are presented the following:

Possibilities to determine the main model of the applied task (business model, usually object-oriented) and the rules of its behavior (business rules);

Support for the design process using libraries equipped with storage, search and selection of design elements (objects and rules);

Availability of tools for creating a user interface and maintaining common software interfaces (support for OLE, OpenDoc standards, access to HTML / Java libraries, etc.);

Availability of opportunities for creating various distributed client-server applications.

Do you like the article? To share with friends: