Case technologies in database design. Case Tools - IP Design Methodologies and Technologies

To automate design and development processes information systems in the 70s and 80s, a structural methodology was widely used, which means the use of formalized methods for describing the system being developed and the technical decisions made. At the same time, graphic tools were used to describe various models of information systems using diagrams and diagrams. This was one of the reasons for the emergence of software and technological tools, called CASE-tools and implementing them 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 term CASE was limited only to issues of automation of software development. Currently, this term has received a broader meaning, meaning automation of information systems development.

CASE- facilities represent softwarethat support the processes of creating and / or maintaining information systems, such as: analysis and formulation of requirements, design of databases and applications, code generation, testing, quality assurance, configuration and project management.

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

CASE- technology 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 types of activity. Almost all serious foreign software projects are carried out using CASE-tools, and total number distributed packages exceeds 500 titles.

primary goal CASE -systems and means is to separate the design of software from its coding and subsequent stages of development (testing, documentation, etc.), and also to automate the entire process of creating software systems, or engineering (from English engineering - development).

Modern CASE-tools support a variety of information systems design technologies: from simple means analysis and documentation to full-scale automation tools covering the entire software lifecycle.

The most time-consuming stages of IS development are the stages of analysis and design, during which CASE-tools ensure the quality of technical solutions and preparation of project documentation. In this case, the methods visual presentation information. This implies the construction of structural or other diagrams in real time, the use of a diverse color palette, and end-to-end checking of syntax rules. Graphic modeling tools subject area allow developers to visually study the existing information system, rebuild it in accordance with the goals and existing constraints.

CASE-tools form the basis of any IS project. The methodology is implemented through specific technologies and their supporting standards, methodologies 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 graphic languageallowing to obtain visible components with a simple and clear structure. At the same time, programs are represented by two-dimensional diagrams (easier to use than multi-page descriptions), which allow the customer to participate in the development process, and the developers to communicate with subject matter experts, to separate the activities of system analysts, designers and programmers, making it easier for them to protect the project in front of the management, as well as providing ease of maintenance and making changes to the system.

- Unified project database... The basis of CASE technology is the use of a project database (repository) to store all information about a project, which can be shared by developers in accordance with their access rights. Repository content includes more than information objects different types, but also the relationship between their components, as well as rules for the application or processing of these components. The repository can store objects of various types: structural diagrams, screen and menu definitions, report projects, data descriptions and their processing logic, as well as data models, organization and processing, source codes, data items, etc.

- integration of funds... On the basis of the repository, CASE-tools are integrated and separated. system information between developers. At the same time, the capabilities of the repository provide several levels of integration: general user interface by all means, data transfer between means, integration of development stages through unified system representations of the phases of the life cycle, the transfer of data and tools between different platforms.

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

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

- Generation of documentation... All project documentation is generated automatically based on the repository (as a rule, in accordance with the requirements of applicable standards). The undoubted advantage of the CASE technology is that the documentation always corresponds to 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, documentation is at best late, and a number of modifications are not found at all in her reflections).

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

- Automatic generation of program code... Generation of program code is carried out on the basis of a repository and allows you to automatically build up to 85-90% of texts in languages high level.

- Maintenance and reengineering... Maintenance of the system within the framework of the CASE technology is characterized by the maintenance of the project, and not of the program codes. Reengineering tools allow you to create a model of the system 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 starts 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, to restore knowledge about the software system for the purpose of their subsequent use, re-development is used - reengineering.

Redevelopment is reduced to building the original model software system by examining its program codes. Having a model, you can improve it, and then go back to development. One of the most well-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 tools, the following are imposed:

The ability to define the main model of the applied problem (business model, usually object-oriented) and the rules of its behavior (business rules);

Support for the design process using libraries equipped with tools for storing, searching and selecting design elements (objects and rules);

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

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

Gaifullov Ruslan,2nd year student,specialty applied informaticsFGBOU VPOFederal State Budgetary Educational Institution of Higher Professional Education"MSTU named after Nosov"

annotation

This article gives the definition of a database. The next section discusses data types in databases and their use in database design. Then the definition of Case technologies is given. And at the end, it tells about Case technologies in database design.

CASE technologies in database design

Gayfullov Ruslan, 2nd year student, specialty Applied Informatics, FSBEI HPE “MSTU of a name Nosov”

Annotation

In this article provides a definition database. Further describes the types of data in databases and their use in database design. Then provides a definition database. And in the end, tells about case technologies in database design.

WHAT IS DATABASES

Database (DB) - a set of data related to each other, which are organized with the database schema for comfortable work with them the user.

Definition from Wikipedia: Databases are a set of documents in an objective form, systematized for search and processing using a computer (this is an electronic computer).

Database - a set of data stored according to a data schema, manipulated according to the rules of data manipulation tools.

Database - information stored in some orderly way.

DATABASE DESIGN

Database design phase- the process of creating a database project necessary to support the functioning of the enterprise and contribute to the achievement of its goals.

Database design is the process of creating a database schema, as well as determining the necessary integrity constraints.

Main goals:

Storing all the necessary information in the database.

The ability to get data for all the necessary requests.

Reducing data redundancy and duplication.

Ensuring data integrity and duplication

DATABASE DESIGN STEPS

Database design is carried out in 3 stages: conceptual (infological), logical (datalogical), physical.

Conceptual design is the process of creating the final (infological) data model of an enterprise (an abstract database structure) by modeling data without taking into account physical conditions (hardware and software).

Conceptual (infological) design - the creation of a semantic model of the domain (information model of the highest level of abstraction). This model is created without focusing on the DBMS and data model. The conceptual model of a database consists of a description of information objects (concepts of the subject area) with connections between them and a description of integrity constraints, that is, requirements for the admissible value of these connections between them.

Logical design - transferring a project to an internal DBMS model (this is a database management system).

Logical (datalogical) design is the creation of a database schema using relational model data.

A datalogical model is a set of relationship schemas indicating primary keys and relationships between relationships, which are foreign keys.

Physical design is the creation of a database schema for specifically for desired system database management (for example, Access).

There is another option for the stages of database design:

Stage 1: problem statement

Stage 2: Analysis of the subject area.

Stage 3: Model creation.

Stage 4: Choice of ways of presenting information and software tools.

Stage 5: Creation of a computer model of the object.

Stage 6: Working with the created database.

WHAT IS CASE TECHNOLOGY

CASE is a system analyst toolkit for design and development. The purpose of CASE tools is to separate design from programming. CASE technology (Computer Aided Software Engineering) is a set of methodologies for analysis, design, development, maintenance of complex software systems, supported by a set of interconnected automation tools. CASE - software engineering tools and methods for software design, ensuring the creation of high-quality programs, no errors, as well as ease of maintenance of software products. Also CASE is a set of methods and tools for designing information facilities using CASE tools.

Case technologies are a methodology for designing an IP and a set of tools with which you can visually model the subject area, analyze the model at different stages of development and design, and develop an application taking into account the needs of users.

Software development automation tools are tools for automating the design and development of software for a system analyst, as well as a software developer and programmer. Initially, Case tools were considered only tools with the help of which the most labor-intensive processes of analysis and design were simplified, but later Case tools began to be considered also as software tools for supporting software life cycles.

The main goal of CASE technologies is to separate the processes of software product design and coding and subsequent development processes, as well as maximum automation of the development process. Therefore, there are two completely different design approaches: structural and object-oriented.

The structural approach suggests decomposing (dividing) the task into functions requiring automation. Functions, in turn, are divided into subfunctions, tasks and procedures. And at the end, a hierarchy of functions is created in a certain order, transmitting information between functions

Also, the approach uses generally accepted methodologies, modeling different information systems, namely

SADT (Structured Analysis and Design Technique), DFD (Data Flow Diagrams), and ERD (Entity Relationship Diagrams).

There are three main models in this approach:

functional, informational and dynamic

This approach is being implemented by Bpwin, Erwin, Business Studio, IBM WebSphere business modeler, and Sybase Power Designer.

In an object-oriented approach, the main tool is the UML, a unified modeling language that can visualize and document object-oriented systems focused on software development. UML has a system different diagrams to build an idea of \u200b\u200bthe designed system.

This approach is implemented by Rational Rose and ARIS.

Case can analyze and program software, design an interface, document, and produce structured code in any programming language.

Case tools are divided into types and categories:

Types (this reflects the functional orientation to different processes of the software development life cycle and coincides with the composition of the components of large integrated Case systems):

analysis tools created to create and analyze a domain model (Bpwin (logical works).

analysis and design tools that support the most famous design methodologies, creating with their help design specifications. The output here is the specification of the components and interfaces of the system, the architecture of the systems, algorithms and data structures.

database design tools that simulate data and generate database schemas (in SQL) for database management systems. These are Erwin (Logic works) and DataBase Designer (Oracle) and Designer / 2000.

application development tools (Developer / 2000), Delphi).

reengineering tools that analyze program codes and database schemas, as well as the formation with their help different models and design specifications. Database schema analysis tools and ERD generation have Designer / 2000, Erwin. When analyzing program codes, the most famous are the object-oriented Case tools that help to reengineer programs in the C ++ language (Rational Rose).

Helper types

planning and project management tools (Microsoft Project).

configuration management tools (PVCS (Intersolv)).

testing tools (Quality Works (Segue Software)).

documentation tools (SoDA (Rational Software)).

CASE TECHNOLOGIES IN DATABASE DESIGN

As a Case technology I will consider Erwin

At all stages of database development, Erwin shows the structure and basic elements of the database being created. It is a development tool that automatically generates tables and generates thousands of lines of text for stored procedures and triggers for database management systems. Erwin accelerates the creation of data processing applications.

Erwin makes database design easier. To do this, you need to create a graphic E-R model (relationship object) that satisfies the data requirements and also introduces business rules, creating a logical model that displays elements, attributes, relationships, and groupings. Erwin can manipulate attributes by pulling them, make changes, and normalize them during database creation. Can be edited directly on charts. This means making changes to the model without opening special dialog boxes... Using the reports generated by the system, the correctness of the created database is checked.

Erwin is not only a drawing tool, it also automates design. Referential integrity of the database is ensured by automatic key transfer. Data models created in Erwine can be edited, viewed and printed different ways... And with RPTwin (which has graphical interface and reporting) and custom viewers that control the display of report content, you can implement the same design standards and display settings for all models.

Erwin remedy for fast creation DB. Erwin will optimize the model to match the physical characteristics of the target database. Erwin also independently coordinates the logical and physical schemes and converts logical structures (for example, many to many) into their implementation on physical level... The implementation of both forward and reverse engineering in Erwin is achieved through a natural dynamic relationship between the model and the database. With this link, Erwin independently creates tables, views, indexes, referencing integrity rules (primary and foreign keys), sets default values, and domain / column constraints. Erwine provides link integrity with many optimized trigger templates, as well as a powerful macro language that you can use to create your triggers and stored procedures. To accurately assess the growth of a database or storage, capacity calculators are available to help efficiently allocate system resources and plan capacity.

Post Views: -

Hierarchical CASE models correspond much better to the large dimension of the problem. CASE (Computer-Aided Software / System Engineering) stands for computer-aided software or system design.

CASE-technology is an actual and intensively developing area of \u200b\u200bCAD development in the field of software products and information processing systems. Almost no major foreign software product is currently being created without the use of CASE-tools.

Among the domestic systems created with the use of CASE-tools, the BOSS-CORPORATION system of IT Co. should be noted. At all stages of the creation of this system, development tools related to the Oracle 2000 family (Designer / 2000, Developer / 200, Programmer / 2000) were used.

The field of application of CASE-technologies refers to the creation, first of all, of economic information systems, which is explained by the mass character of these systems.

It should be noted that CASE-technologies are used not only to create automated control systems, but also to develop models of systems that help in making decisions in the field of strategic planning, financial management of a company, personnel training, etc. This area of \u200b\u200bapplication of CASE-technologies got its own name - business analysis.

CASE-technologies are also used where the problem of the subject area is very complex, for example, in the development of system software.

Let's consider the methodological foundations of CASE technologies.

The basis of the CASE methodology is modeling. CASE technology is a model method of system design automation.

CASE technology is based on the paradigm: methodology - method - notation - means

The methodology defines the general approaches to the assessment and selection of the system option, the sequence of stages and design stages, and approaches to the selection of methods.

The method specifies the order of designing the individual components of the system (for example, methods for designing data flows in the system, setting specifications (descriptions) of processes, representing data structures in the storage, etc.) are known.

Notations are graphical notations and rules designed to describe the structure of a system, stages of information processing, data structure, and so on. Notations include graphs, diagrams, tables, flowcharts, formal and natural languages.

Finally, the tools are toolkits, design automation tools in the form of software products for providing an interactive design mode (creating and editing a graphical project of an information system) and code generation of programs (automatically creating system program codes).

The design methodology based on computer support, obviously, requires the construction of a formalized description of the information system in the form of an information model. The construction of the CASE-model of the system provides for the decomposition of the system and the hierarchical ordering of the decomposed subsystems.

The system model should reflect:

The functional part of the system;

Relationships between data;

System state transitions when working in real time. To model the information system in the three specified aspects, three types of graphic tools with certain notations are used.

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

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

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

DFD plays a leading role in modeling.

DFD is designed to reflect the relationship between sources and receivers of data (so-called external entities in relation to the information system), data streams, processing processes (computational processes corresponding to the functions of the system), data storages (storage).

The graphical presentation of the data flow diagram on the display screen provides visualization of the simulation and the convenience of correcting the main components of the model online.

Since graphical representation is not enough to accurately define DFD components, textual descriptions and other means of concretizing processing processes and data structures are used.

Thus, data streams are concretized in terms of their structure in data dictionaries. Each process (system function) can be detailed using a lower-level DFD, where it is split into several processes with the simultaneous granularity of data streams.

Process detailing ends when the description of each detailed process can be done using the chosen process algorithm writing method. The process specification contains the process number and name, lists of input and output data names from the data dictionary, and a process algorithm that transforms input data streams into input ones. The CASE technology uses such methods for setting process algorithms as:

Text description;

Natural structured language;

Decision tables;

Decision trees;

Visual languages;

Programming languages.

Programming languages \u200b\u200b(C, Cobol, etc.) cause difficulties in writing algorithms in relation to DFD, since they require the use of data dictionaries in addition to data streams, and require synchronous correction of process specifications when correcting DFD.

The structured natural language is easily understood not only by designers and programmers, but also by end users. This is his dignity. However, it does not provide automatic code generation due to the presence of ambiguities.

Tables and decision trees, clearly reflecting the relationship of a combination of conditions with the required actions, do not have procedural capabilities for code generation of programs.

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

The content of each data warehouse represented in a data flow diagram is described by a data dictionary and ERD data model. In the case of real-time system operation, DFD is supplemented by STD.

The hierarchical structure of the CASE model is shown in Fig. 11.9.

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

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

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

Programming stage (including designing a physical database);

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

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

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

The next stage (programming) is the physical design of the system. This stage includes automatic code generation from the specifications of the system software processes and the physical design of the database.

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

The sequence of operations for creating an information system based on CASE technology is shown in Fig. 11.10.

Let's consider the factors of CASE-technology efficiency.

1. It should be noted that the CASE-technology creates an opportunity and provides for the transfer of the center of gravity in the complexity of creating a system at the pre-design and design stages. Careful elaboration 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 graphical form of the model presentation, which is understandable for non-programmers, makes it possible to implement the principle of user design, which involves the participation of users in the creation of the system. The CASE model allows achieving 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 an opportunity for multivariate analysis with prototyping and 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 approach speeds up and reduces the cost of creating a system.

4. The formalization of the system requirements relieves designers from the need for numerous adjustments for new user requirements.

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 the appropriate automation tools allows for automatic code generation of the system software and create a rational database structure.

7. At the stage of system operation, it becomes possible to make changes at the model level without referring to the program texts, possibly by the efforts of the company's automation department specialists.

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

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

Consider the software that provides the CASE-technology. Depending on the functional purpose they are subdivided into the following classification groups, providing:

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 data flow diagrams and the description of its components. These tools allow analysts and designers to access the design system database (repository).

These funds include: domestic CASE package. Analyst, Design / IDEF (Meta Software), The Developer (ASYST Technologies), etc.

User interfaces are prototyped to accommodate user requirements, including menus, displays, and tabular or graphical reports. An example of a software tool for creating a user interface is Developer / 2000 (Oracle).

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

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

Maintenance and reengineering tools allow you to make changes to the system at the model level under changing business conditions (Adpac CASE Tools from Adpac, etc.).

Design process management tools support the planning and control of the implementation of a complex of design work, as well as the interaction of analysts, designers and programmers based on common base project data (for example, Project Workbench from Applied Business Technology). The urgency of creating an integrated package of tools for supporting CASE-technology at all stages of the life cycle of an information system is obvious.

2.2 Development of a conceptual model of the information system.

The conceptual model represents objects and their relationships without specifying how they are physically stored. Thus, the conceptual model is essentially a domain model. When designing a conceptual model, data should be structured and the relationships between them should be identified without considering implementation features and efficiency issues

processing. The design of the conceptual model is based on the analysis of the tasks facing the advertising agency. The conceptual model includes descriptions of objects and their interrelationships that are of interest in the considered subject area and that are identified as a result of data analysis.

To build the model we need, we brought all the available data to third normal form, as a result of which we got the following entities:

· Types of dishes.

· Staff.

· Positions.

· Regular customers.

· Orders.

We build the model at the logical level (see Fig. 2). Figure 2 shows that the model has links. Let's consider them in more detail:

Table "Types of dishes" and table "Dishes" - established a relationship "one-to-many" using the primary key "Type code";

"Positions" table and "Personnel" table - a one-to-many relationship was established using the primary key "Position Code";

Table "Dishes" and table "Orders" - a one-to-many relationship was established using the primary key "Dish ID";

"Personnel" table and "Orders" table - one-to-many relationship was established using the primary key "Employee ID";

Loyal Customers Table and Orders Table — A one-to-many relationship was established using the Customer ID primary key.



Figure: 2. Conceptual data model


2.3 Development of a logical model of the information system

Databases and software for their creation and maintenance (DBMS) have layered architecture, an idea of \u200b\u200bwhich can be obtained from Figure 1.

Scheme 1 - Multilevel presentation of database data under

dBMS management

There are conceptual, internal and external levels of representation of these databases, which correspond to models of similar purpose.

The conceptual level corresponds to the logical aspect of presenting domain data in an integrated way. The conceptual model consists of many instances of various data types, structured in accordance with the requirements of the DBMS for the logical structure of the database.

The inner layer reflects the required organization of data in the storage medium and corresponds to the physical aspect of data presentation. The internal model consists of individual record instances physically stored in external media.

The outer layer supports the private views of the data required by specific users. The external model is a subset of the conceptual model. Intersection possible external models according to. A private logical data structure for an individual application (task) or user corresponds to an external database model or subschema. With the help of external models, authorized access to application database data is supported (the composition and structure of the data of the conceptual database model available in the application is limited, as well as the permissible modes of processing this data are set: input, editing, deletion, search).

Database design consists in building a complex of interrelated data. Figure 2 shows the stages of the database design process.

Figure 2 - Steps in the Database Design Process

The most important stage in the design of a database is the development of an information-logical (infological) model of the domain, not oriented to the DBMS. In the infological model, the data structures in an integrated form reflect the composition and structure of the data, as well as information needs.

Information-logical (infological) model of the subject area reflects the subject area in the form of a set of information objects and their structural links.

In a one-to-many (1: M) relationship, one instance of information A corresponds to 0, 1 or more instances of object B, but each instance of object B is associated with at most one instance of object A.

An example of relationship 1: M is a relationship between information objects Surname - Salary:

Surname Salary


In the database, information is stored in the form of two-dimensional tables. You can also import and link tables from other DBMS or control systems spreadsheets... 1024 tables can be opened at the same time.

When determining the required database tables, it is necessary to provide the first three normal forms, i.e. carry out normalization.

The same data can be grouped into tables (relationships) different ways, i.e. the organization of various sets of relations of interconnected information objects is possible. The grouping of attributes in relationships should be rational, i.e. minimizing data duplication and simplifying their processing and updating procedures.

A certain set of relations has better properties when including, modifying, deleting data than all other possible sets of relations, if it meets the requirements for normalizing relations.

Normalization of relations is a formal apparatus of restrictions on the formation of relations (tables), which eliminates duplication, ensures the consistency of those stored in the database, and reduces the labor costs for maintaining (entering, correcting) the database.

E. Codd identified three normal forms of relations and proposed a mechanism that allows any relation to be transformed to the third (most perfect) normal form.

First normal form. A ratio is called normalized or reduced to first normal form if all its attributes are simple (hereinafter indivisible). Converting a relation to first normal form can lead to an increase in the number of relation attributes (fields) and a change in the key.

Second normal form. To consider the issue of bringing relations to the second normal form, it is necessary to give explanations to such concepts as functional dependence and complete functional dependence.

The descriptive details of the information object are logically related to a common key for them, this relationship is of the nature functional dependence details.

Functional dependence of attributes - a dependence in which only one value of a descriptive attribute corresponds to a certain value of a key attribute in an instance of an information object.

This definition of functional dependence allows us to single out independent information objects in the analysis of all interconnections of the domain attributes. As an example, consider a graphical representation of the functional dependencies of employee details shown in Figure 5, in which the key attribute is indicated with an asterisk.

Figure 1 - Graphic representation of the functional dependence of the details

In the case of a composite key, the concept of a functionally complete dependency is introduced.

The functionally complete dependence of non-key attributes is that each non-key attribute is functionally dependent on a key, but not functionally dependent on any part of a composite key.

A relationship will be in second normal form if it is in first normal form, and each non-key attribute is functionally dependent on the composite key.

Third normal form. The concept of third normal form is based on the concept of non-transitive dependency.

Transitive dependency occurs when one of the two descriptive attributes depends on the key, and the other descriptive attribute depends on the first descriptive attribute.

A relationship will be in third normal form if it is in second normal form, and each non-key attribute does not transitively depend on the primary key.

To eliminate the transitive dependence of descriptive attributes, it is necessary to “split” the original information object. As a result of splitting, some of the details are removed from the original information object and included in other (possibly newly created) information objects.

The created database should perform functions in the interests of automating the issuance of data about the organization. It should have a simple and intuitive user interface and have minimum system requirements.

The aim of the work is to create a database that provides:

fast entry of new data;

storage and search of already entered data;

printing the required number of personal reports.

The data are:

Full Name;

Date of Birth;

Position held;

Official salary;

The number of actual days worked per month.

By considering the tasks identified above, you can design the basic database tables.

For this we will use the Database Desktop tools.

In this environment, we will create all the necessary tables for the developed database. The attributes in this table will be:

Last name, first name, patronymic, date of adoption, address, phone number, shifts, not going to work, rate, salary.

Lecture 16-1 CASE TECHNOLOGIES IN IP CREATION

Solving design problems of large dimensions requires the use of appropriate methods and models. Hierarchical CASE-models (Computer-Aided Software / System Engineering - design of 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, the defense complex, the mining industry), the preparation of project documentation using CASE-tools is a necessary requirement of the standards.

The area of \u200b\u200bapplication 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 of system design automation.

CASE technology is based on the relationship:

methodology - method - notation - means

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

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

Notations - graphic means of notation and rules designed to describe the structure of the system, stages of information processing, data structure (graphs, diagrams, tables, block diagrams, formal and natural languages).

Facilities - tools, means for providing an interactive design mode (creation and editing of a graphical project of IS and code generation of programs).

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

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

To simulate IP in these aspects, varieties of graphic tools are used:

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

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

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

DFD plays a leading role in modeling.

DFD is designed to reflect the relationship between sources and receivers of data, data streams, processing processes (computational processes corresponding to system functions), data storages (storage devices).

The graphical presentation of the data flow diagram on the display screen provides visualization of the simulation and the convenience of online corrections. Because graphical representation is not sufficient to accurately identify DFD components, textual descriptions are used.

Each process (system function) can be detailed using a lower-level DFD, where it is split into several processes with the simultaneous granularity of data streams. Process detailing ends when the description of each detailed process can be done using the chosen process algorithm writing method.

Visual languages \u200b\u200bprovide automatic code generation, but 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 division of the process of creating a system into 4 stages:

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

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

Programming stage (including designing a physical database);

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

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

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

The physical design of the system is carried out at the programming stage. This stage includes automatic code generation from the specifications of the system software processes and the physical design of the database.

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

CASE technology advantages:

1. CASE-technology creates an opportunity and provides for the transfer of the center of gravity in the complexity of creating a system at the pre-design and design stages. Careful elaboration 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 graphical form of the model presentation, which is understandable for non-programmers, makes it possible to implement the principle of user design, which involves the participation of users in the creation of the system. The CASE model allows achieving 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-project stage creates an opportunity for multivariate analysis with a rough estimate of the effectiveness of the 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 the appropriate automation tools allows for automatic code generation of the system software and create a rational database structure.

7. At the stage of system operation, it becomes possible to make changes at the model level without referring to the program texts, possibly by the efforts of the company's automation department specialists.

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

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

Depending on the functional purpose, the software that provides the CASE technology is subdivided 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 graphical construction and control of a hierarchical data flow diagram model and description of its components. These tools allow analysts and designers to access the design database. These funds include: domestic CASE package. Analyst, Design / IDEF (Meta Software), The Developer (ASYST Technologies), etc.

User interfaces are prototyped to accommodate user requirements, including menus, displays, and tabular or graphical reports. An example is Developer / 2000 (Oracle).

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

The programming tools support automatic code generation from process specifications, testing and documenting the program. 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, etc.).

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

Did you like the article? To share with friends: