E-R diagram is an entity relationship diagram, which provides a method to express entity types, attributes and relationships, and is used to describe the conceptual model of the real world.
The basic elements that make up an E-R diagram are entity types, attributes and connections, which are expressed as follows:
Entity type: represented by a rectangle, and the entity name is written in the rectangular box;
Attribute: represented by ellipse, connected with corresponding entity by undirected edge;
Contact person: represented by a diamond, the name of the contact person is written in the diamond box, and the contact person is connected with the relevant entity through the undirected edge, and the contact person type (1: 1, 1: n or m: n) is marked next to the undirected edge.
-
IDEF 1X
IDEF(ICAM DEFinition method) is the abbreviation of ICAM definition method, which is a systematic analysis and design method developed by the US Air Force in the late 1970s and early 1980s based on the structured analysis and design method in ICAM (Integrated Computer Aided Manufacturing) project. It is a classical system analysis theory and method.
The following article introduces the IDEF 1X method for your reference.
IDEF 1X is an extended version of IDEF 1, which is based on the principle of E-R (Entity Contact) method and adds some rules to enrich the semantics. Used to build a system information model.
IDEF 1X is a semantic data modeling technology, which is mainly used to meet the following requirements and characteristics:
(1) supports the development of conceptual patterns.
IDEF 1X syntax supports the semantic structure necessary for the development of conceptual schema, and the perfect IDEF 1X model has the expected consistency, expansibility and transferability.
(2) IDEF 1X is a related language.
IDEF 1X has a concise and consistent structure for different semantic concepts. The syntax and semantics of IDEF 1X are not only easy for users to master, but also robust and effective (powerful &; Robust).
(3) IDEF 1X is easy to teach.
Semantic data model is a new concept for many users of IDEF1X. Therefore, the teachability of language is an important consideration. IDEF 1X language is designed for transaction professionals and system analysts, as well as data administrators and database designers. Therefore, it can be used as an effective communication between research groups in different disciplines.
(4) IDEF 1X has been well tested and proved in application.
IDEF 1X is developed on the basis of predecessors' years of experience, and has been fully tested and proved in some projects of the US Air Force and private industries.
(5) IDEF 1X can be automated.
IDEF 1X graphics can be generated by a graphics software package. Commercial software can also support the change, analysis and structure management of IDEF 1X model.
IDEF 1X applies entity relation method to semantic data modeling. The prototype of IDEF 1 is developed on the basis of the concept of entity relationship modeling of P.P.S (Peter) Chen and the relationship theory of P.P.(Ted) Codd. IDEF 1X is an extended version of idef1,which not only improves the graphic expression and modeling process, but also enhances and enriches the semantics. For example, the introduction of categorization relation (also called generalization).
The basic structure of IDEF 1X model is:
(1) Related things that contain data. For example, people, concepts, places and things are all represented by boxes.
(2) The connection between things is represented by connecting lines connecting boxes.
(3) The characteristics of things are represented by the attribute names in the box.
The basic structure is shown in the figure.
(See IDEF Modeling Analysis and Design Method, edited by Chen Yu, Tsinghua University Publishing House, 1999 for details. ")
/c? idef & ampURL = pany % 5f upload % 5f img/ 159/IDEF % 2e doc & amp; B = 0 & ampa = 40& User = Baidu
-
ODL is a recommended standard language for describing database structure in object-oriented terms. Its main purpose is to write the design of object-oriented database, and then directly convert it into the description of object-oriented database management system. There are three characteristics to describe: attributes, connections and methods. In ODL, the simplest class description includes: keyword interface, class name, and the property sheet of the class enclosed in curly braces (properties include properties, connections and methods) interface {< feature sheet >};
Leave an example:
The database of course selection should include information such as students, departments, teachers, courses, which students chose which courses, which teachers taught which courses, students' grades, and which courses were offered by a certain department.
Interface students
(Key number)
{attribute integer SNo
Attribute string sequence number;
Attribute integer score;
Relationship set< course & gt course 1
Reverse course:: student1;
Relationship department 1
Reverse separation:: student 2;
};
Interface teacher
(key TNo)
{attribute integer TNo
Attribute string TN;
Relationship Set< Course & gt Course 2
Reverse courses:: teachers;
};
Interface separation
(key DNo, DN)
{attribute integer DNo
Attribute string dn;
Relationship Set< Student & gt Student 2
Inverse generation:: department1;
Relationship Set< Course & gt Course 3
Reverse course:: depart2
};
Interface course
(key CNo)
{attribute integer CNo
Attribute string cn;
Relationship set< student & gt student 1
Inverse life:: course1;
Relationship set< teacher & gt teacher
Inverse teacher:: course 2;
Relationship department 2
Inverse separation:: courses3
};
-
Unified modeling language UML
The field of software engineering has made unprecedented progress from 1995 to 1997, and its achievements have exceeded the sum of the achievements in the field of software engineering in the past five years. One of the most important and epoch-making achievements is the emergence of Unified Modeling Language (UML).
In the world, UML will be the dominant standard modeling language in the field of object-oriented technology for at least 10 years. It is absolutely necessary to adopt UML as a unified modeling language in China: firstly, dozens of object-oriented modeling languages in the past are independent of each other, and UML can eliminate some potential unnecessary differences and avoid confusion among users; Secondly, by unifying semantics and symbolic representation, the market of object-oriented technology in China can be stabilized, the project can be rooted in a mature standard modeling language, the application scope of the developed software system can be greatly broadened, and its flexibility can be greatly improved.
Unified Modeling Language (UML) is a language used to describe, construct, visualize and record software-intensive systems.
Firstly, and most importantly, the unified modeling integration language introduces the concepts of Booch, OMT and OOSE methods, which is a simple, consistent and universal modeling language and can be widely adopted by users of the above and other methods.
Secondly, the unified modeling language extends the application scope of existing methods. It is particularly worth mentioning that UML developers regard the modeling of parallel distributed systems as the design goal of UML, that is, UML has the ability to deal with such problems.
Thirdly, Unified Modeling Language is a standard modeling language, not a standard development process. Although the application of UML must be based on the development process of the system, according to our experience, different organizations and different application fields need different development processes. For example, it is interesting to develop complex software, but developing this software is very different from building a strict real-time avionics system, which is a crucial event. Therefore, we first focus on designing a general metamodel (unifying the semantics of different methods), and then establish a general representation (providing visual expression of these semantics). Although UML developers will continue to advocate the software development process from use case-driven to architecture-centric, which is repeatedly improved and added, it is not necessary to design a standard development process.
UML is a well-defined, easy to express, powerful and universally applicable modeling language. It combines new ideas, methods and technologies in the field of software engineering. Its scope is not limited to supporting object-oriented analysis and design, but also supporting the whole process from requirement analysis to software development.
The development process of object-oriented technology and UML can be represented by the above figure, and the emergence of standard modeling language is its important achievement. In the United States, by the end of 1996 and 10, UML has been widely supported by industry, science and technology and application circles, and more than 700 companies have expressed their support for adopting UML as a modeling language. By the end of 1996, UML has steadily occupied 85% of the object-oriented technology market and become the de facto industrial standard of visual modeling language. 1997165438+10/7, OMG adopts UML 1. 1 as the standard modeling language based on object-oriented technology. UML represents the development direction of object-oriented software development technology, which has great market prospect and great economic and national defense value.
The content of standard modeling language UML
First of all, UML combines the basic concepts in Booch, OMT and OOSE methods, which are mostly the same as those in other object-oriented technologies. Therefore, UML will inevitably become a simple and consistent modeling language that users of these methods and other methods are willing to adopt. Secondly, UML is not only a simple convergence of the above methods, but also a comprehensive consultation on the basis of these methods, which was completed after many revisions, and UML expanded the application scope of existing methods; Third, UML is a standard modeling language, not a standard development process. Although the application of UML must be based on the development process of the system, different organizations and different application fields need to adopt different development processes.
As a modeling language, the definition of UML includes two parts: UML semantics and UML representation.
(1) UML semantic description Accurate metamodel definition based on UML. Metamodel provides a simple, consistent and universal definition description for all elements of UML in grammar and semantics, which enables developers to achieve semantic consistency and eliminates the influence of the best expression methods that vary from person to person. In addition, UML also supports the extended definition of metamodel.
(2) UML symbols define the symbols of UML symbols, which provide a standard for developers or development tools to use these graphical symbols and text grammar to model the system. These graphic symbols and words express an application-level model, which is an example of a semantic UML metamodel.
The important content of the standard modeling language UML can be defined by the following five diagrams (***9 diagrams):
The first category is use case diagram, which describes the system functions from the user's point of view and points out the operators of each function.
The second category is static diagram, including class diagram, object diagram and package diagram. Class diagram describes the static structure of classes in the system. It not only defines the classes in the system, but also expresses the relationships among classes such as association, dependence and aggregation. , but also the internal structure of the class (the properties and operations of the class). Class diagram describes a static relationship, which is valid throughout the life cycle of the system. Object diagram is an example of class diagram, which uses almost the same logo as class diagram. The difference between them is that the object graph shows multiple object instances of the class instead of the actual class. An object diagram is an example of a class diagram. Because the object has a life cycle, the object graph can only exist in a certain time period of the system. Packages are composed of packages or classes, which represent the relationships between packages. The package diagram is used to describe the hierarchical structure of the system.
The third category is behavior diagram, which describes the dynamic model of the system and the interaction between components. Among them, the state diagram describes all the possible states of the object and the transition conditions of the state when the event occurs. Usually, the state diagram is a supplement to the class diagram. In practice, it is not necessary to draw state diagrams for all classes, but only for those classes whose behavior has changed due to the influence of external environment. The activity diagram describes the activities to be performed to meet the use case requirements and the constraints between the activities, which helps to identify parallel activities.
The fourth category is interaction diagram, which describes the interaction between objects. Among them, the sequence diagram shows the dynamic cooperative relationship between objects, emphasizes the order of message sending between objects, and shows the interaction between objects; Collaboration diagram describes the collaborative relationship between objects, similar to sequence diagram, and shows the dynamic collaborative relationship between objects. In addition to displaying information exchange, collaboration diagrams also display objects and their relationships. If time and sequence are emphasized, use sequence diagram; If you emphasize the superior-subordinate relationship, choose the cooperation chart. These two graphs are collectively called interaction graphs.
The fifth category is the implementation diagram. Among them, the component diagram describes the physical structure of code components and the dependencies between components. Components can be resource code components, binary components or executable components. It contains information about logical classes or implementation classes. Component diagram is helpful to analyze and understand the degree of interaction between components.
The configuration diagram defines the physical architecture of software and hardware in the system. It can display the actual computers and devices (represented by nodes) and their connection relationships, as well as the connection types and dependencies between components. Inside the node, executable parts and objects are placed to show the corresponding relationship between the node and the executable software unit.
From the application point of view, when using object-oriented technology to design a system, the first thing is to describe the requirements; Secondly, the static model of the system is established according to the requirements, and the structure of the system is constructed; The third step is to describe the behavior of the system. The models established in the first and second steps are static, including use case diagram, class diagram (including package), object diagram, component diagram and configuration diagram, which are static modeling mechanisms of standard modeling language UML. Among them, the model established in the third step can not only be executed, but also represent the time sequence state or interaction in the execution process. It includes state diagram, activity diagram, sequence diagram and cooperation diagram, and is a dynamic modeling mechanism of standard modeling language UML. Therefore, the main contents of standard modeling language UML can also be summarized into two categories: static modeling mechanism and dynamic modeling mechanism.