methodology

Entity-Relationship Model

In software engineering, an entity-relationship model (ERM) is an abstract and conceptual representation of data. Entity-relationship modeling is a database modeling method, used to produce a type of conceptual schema or semantic data model of a system, often a relational database, and its requirements in a top-down fashion. Diagrams created by this process are called entity-relationship diagrams, ER diagrams, or ERDs.

The definitive reference for entity-relationship modelling is Peter Chen's 1976 paper[1]. However, variants of the idea existed previously, and have been devised subsequently.[2]

[1] "The Entity Relationship Model: Toward a Unified View of Data".

[2] A.P.G. Brown, "Modelling a Real-World System and Designing a Schema to Represent It", in Douque and Nijssen (eds.), Data Base Description, North-Holland, 1975, ISBN 0-7204-2833-5

,

The first stage of information system design uses these models during the requirements analysis to describe information needs or the type of information that is to be stored in a database. The data modeling technique can be used to describe any ontology (i.e. an overview and classifications of used terms and their relationships) for a certain area of interest. In the case of the design of an information system that is based on a database, the conceptual data model is, at a later stage (usually called logical design), mapped to a logical data model, such as the relational model; this in turn is mapped to a physical model during physical design. Note that sometimes, both of these phases are referred to as "physical design".

There are a number of conventions for entity-relationship diagrams (ERDs). The classical notation mainly relates to conceptual modeling. There are a range of notations employed in logical and physical database design, such as IDEF1X.

,

An entity may be defined as a thing which is recognized as being capable of an independent existence and which can be uniquely identified. An entity is an abstraction from the complexities of some domain. When we speak of an entity we normally speak of some aspect of the real world which can be distinguished from other aspects of the real world.[3]
An entity may be a physical object such as a house or a car, an event such as a house sale or a car service, or a concept such as a customer transaction or order. Although the term entity is the one most commonly used, following Chen we should really distinguish between an entity and an entity-type. An entity-type is a category. An entity, strictly speaking, is an instance of a given entity-type. There are usually many instances of an entity-type. Because the term entity-type is somewhat cumbersome, most people tend to use the term entity as a synonym for this term.
Entities can be thought of as nouns. Examples: a computer, an employee, a song, a mathematical theorem. Entities are represented as rectangles.

,

A relationship captures how two or more entities are related to one another. Relationships can be thought of as verbs, linking two or more nouns. Examples: an owns relationship between a company and a computer, a supervises relationship between an employee and a department, a performs relationship between an artist and a song, a proved relationship between a mathematician and a theorem. Relationships are represented as diamonds, connected by lines to each of the entities in the relationship.

,

Entities and relationships can both have attributes. Examples: an employee entity might have a Social Security Number (SSN) attribute; the proved relationship may have a date attribute. Attributes are represented as ellipses connected to their owning entity sets by a line.

,

Every entity (unless it is a weak entity) must have a minimal set of uniquely identifying attributes, which is called the entity's primary key.

,

Entity-relationship diagrams don't show single entities or single instances of relations. Rather, they show entity sets and relationship sets. Example: a particular song is an entity. The collection of all songs in a database is an entity set. The eaten relationship between a child and her lunch is a single relationship. The set of all such child-lunch relationships in a database is a relationship set. In other words, a relationship set corresponds to a relation in mathematics, while a relationship corresponds to a member of the relation.

,

Certain cardinality constraints on relationship sets may be indicated as well.

Logical Database Design Technique (LDDT)

LDDT had been developed in 1982 by Robert G. Brown of The Database Design Group entirely outside the IDEF program and with no knowledge of IDEF1. Nevertheless, the central goal of IDEF1 and LDDT was the same: to produce a database neutral model of the persistent information needed by an enterprise by modeling the real-world entities involved. LDDT combined elements of the relational data model, the E-R model, and data generalization in a way specifically intended to support data modeling and the transformation of the data models into database designs.

LDDT included multiple levels of model, the modeling of generalization/specialization, and the explicit representation of relationships by primary and foreign keys, supported by a well defined role naming facility. The primary keys and unambiguously role-named foreign keys expressed sometimes subtle uniqueness and referential integrity constraints that needed to be known and honored by whatever type of database was ultimately designed. Whether the database design used the integrity constraint based keys of the LDDT model as database access keys or indexes was an entirely separate decision. The precision and completeness of the LDDT models was an important factor in enabling the relatively smooth transformation of the models into database designs. Early LDDT models were transformed into database designs for IBM's hierarchical database, IMS. Later models were transformed into database designs for Cullinet's network database, IDMS, and many varieties of relational database.

The graphic syntax of LDDT differed from that of IDEF1 and, more importantly, LDDT contained interrelated modeling concepts not present in IDEF1. Therefore, instead of extending IDEF1, Mary E. Loomis of DACOM wrote a concise summary of the syntax and semantics of a substantial subset of LDDT, using terminology compatible with IDEF1 wherever possible. DACOM labeled the result IDEF1X and supplied it to the ICAM program, which published it in 1985. (IEEE 1998, p. iii) (Bruce 1992, p. xii)

To satisfy the data modeling enhancement requirements that were identified in the IISS-6202 project, a sub-contractor, DACOM, obtained a license to the Logical Database Design Technique (LDDT) and its supporting software (ADAM).

Structured Analysis and Design Technique (SADT)

Structured Analysis and Design Technique (SADT) is a software engineering methodology for describing systems as a hierarchy of functions.

,

Structured Analysis and Design Technique (SADT) is a diagrammatic notation designed specifically to help people describe and understand systems. It offers building blocks to represent entities and activities, and a variety of arrows to relate boxes. These boxes and arrows have an associated informal semantics. SADT can be used as a functional analysis tool of a given process, using successive levels of details. The SADT method allows to define user needs for IT developments, which is very used in the industrial Information Systems, but also to explain and to present an activity’s manufacturing processes, procedures.

The SADT supplies a specific functional view of any enterprise by describing the functions and their relationships in a company. These functions fulfill the objectives of a company, such as sales, order planning, product design, part manufacturing, and human resource management. The SADT can depict simple functional relationships here and can reflect data and control flow relationships between different functions.

,

SADT has been developed and field-tested during the period of 1969 to 1973 by Douglas T. Ross and SofTech, Inc.. The methodology was used in the MIT Automatic Programming Tool (APT) project. It received extensive use starting in 1973 by the US Air Force Integrated Computer Aided Manufacturing program.

,

According to Levitt (2000) "it is part of a series of structured methods, that represent a collection of analysis, design, and programming techniques that were developed in response to the problems facing the software world from the 1960s to the 1980s. In this timeframe most commercial programming was done in Cobol and Fortran, then C and BASIC. There was little guidance on “good” design and programming techniques, and there were no standard techniques for documenting requirements and designs. Systems where getting larger and more complex, and the information system development became harder and harder to do so. As a way to help manage large and complex software. Since the end 1960 multiple Structured Methods emerged".

- Structured programming in circa 1967 with Edsger W. Dijkstra.

- Structured Design around 1975 with Larry Constantine and Ed Yourdon

- Structured Analysis in circa 1978 with Tom DeMarco, Yourdon, Gane & Sarson, McMenamin & Palmer.

- Information Engineering in circa 1990 with James Martin.

In 1981 the IDEF0 formalism was published, based on SADT.

IDEF14 Network Design Method

IDEF14 or Integrated Definition for Network Design Method is a method that targets at modeling and designing computer and communication networks. It can be used to model existing ("as is") computer networks or envisioned ("to be") computer networks. It helps the network designer work with "what if" potential network designs and document design rationale. The fundamental goals of the IDEF14 method research project have developed from a perceived need for good network designs that can be implemented quickly and accurately.

IDEF8 Human-System Interaction Design

IDEF8 or Integrated Definition for Human-System Interaction Design is a method for producing high-quality designs of the interactions that occur between users and the systems they operate. Systems are characterized as a collection of objects which perform functions to accomplish a particular goal. The system with which the user interacts can be any system, not necessarily a computer program. Human-system interactions are designed at three levels of specification within the IDEF8 method. The first level defines the philosophy of system operation and produces a set of models and textual descriptions of overall system processes. The second level of design specifies role-centered scenarios of system use. The third level of IDEF8 design is for human-system design detailing. At this level of design, IDEF8 provides a library of metaphors to help users and designers specify the desired behavior in terms of other objects whose behavior is more familiar. Metaphors provide a model of abstract concepts in terms of familiar, concrete objects and experiences.

IDEF6 Design Rationale Capture

IDEF6 or Integrated Definition for Design Rationale Capture is a method to facilitate the acquisition, representation, and manipulation of the design rationale used in the development of enterprise systems. Rationale is the reason, justification, underlying motivation, or excuse that moved the designer to select a particular strategy or design feature. More simply, rationale is interpreted as the answer to the question, “Why is this design being done in this manner?” Most design methods focus on the what the design is (i.e., on the final product, rather than why the design is the way it is).

IDEF6 will be a method that possesses the conceptual resources and linguistic capabilities needed (i) to represent the nature and structure of the information that constitutes design rationale within a given system, and (ii) to associate that rationale with design specifications, models, and documentation for the system. The scope of IDEF6 applicability covers all phases of the information system development process, from initial conceptualization through both preliminary and detailed design activities. To the extent that detailed design decisions for software systems are relegated to the coding phase, the IDEF6 technique should be usable during the software construction process as well.

IDEF5 Ontology Description Capture

IDEF5 or Integrated Definition for Ontology Description Capture Method is a software engineering method to develop and maintain usable, accurate, domain ontologies. In the field of computer science ontologies are used to capture the concept and objects in a specific domain, along with associated relationships and meanings. In addition, ontology capture helps coordinate projects by standardizing terminology and creates opportunities for information reuse. The lDEF5 Ontology Capture Method has been developed to reliably construct ontologies in a way that closely reflects human understanding of the specific domain.

,

In the IDEF5 method, an ontology is constructed by capturing the content of certain assertions about real-world objects, their properties, and their interrelationships and representing that content in an intuitive and natural form. The IDEF5 method has three main components: A graphical language to support conceptual ontology analysis, a structured text language for detailed ontology characterization, and a systematic procedure that provides guidelines for effective ontology capture.

IDEF4 Object-Oriented Design

Defined by
Defining documents
Document title Document identifier Document date File size File
Information Integration for Concurrent Engineering (IICE) IDEF4 Object-Oriented Design Method Report WPAFB OH 45433-6573 1.6 MB   DOWNLOAD!

IDEF4, officially named Integrated DEFinition for Object-Oriented Design, is an object-oriented design modeling language for the design of component-based client/server systems. It has been designed to support smooth transition from the application domain and requirements analysis models to the design and to actual source code generation. It specifies design objects with sufficient detail to enable source code generation.

This method is part of the IDEF family of modeling languages in the field of systems and software engineering.

The IDEF3 method provides modes to represent both

  • Process Flow Descriptions to capture the relationships between actions within the context of a specific scenario, and
  • Object State Transition to capture the description of the allowable states and conditions.

This method is part of the IDEF family of modeling languages in the field of systems and software engineering.

,

IDEF4 method is a graphically oriented methodology for the design of object oriented software systems. The object oriented programming paradigm provides the developer with an abstract view of his program as composed of a set of state maintaining objects which define the behavior of the program by the protocol of their interactions. An object consists of a set of local state defining attributes and a set of methods (procedures) that define the behavior of that particular object and its relationship to the other objects that make up the system.

,

The development of IDEF4 came from the recognition that the modularity, maintainability and code reusability that results from the object oriented programming paradigm can be realized in traditional data processing applications. The proven ability of the object oriented programming paradigm to support data level integration in large complex distributed systems is also a major factor in the widespread interest in this technology from the traditional data processing community.

,

IDEF4 was developed as a design tool for software designers who use object-oriented languages such as the Common LISP Object System, Flavors, C++, SmallTalk, Objective C and others. Since effective usage of the object-oriented paradigm requires a different thought process than used with conventional procedural or database languages, standard methodologies such as structure charts, data flow diagrams, and traditional data design models (hierarchical, relational, and network) are not sufficient. IDEF4 seeks to provide the necessary facilities to support the object-oriented design decision making process.

IDEF3 Process Description Capture

Document title Sort descending Document identifier Document date File size File
ENGENHARIA DE SISTEMAS EM SISTEMAS SOCIOTECNICOS 2010 1.54 MB   DOWNLOAD!

IDEF3, officially named a Integrated DEFinition for Process Description Capture Method, is a business process modelling method complementary to IDEF0. The IDEF3 method is a scenario-driven process flow description capture method intended to capture the knowledge about how a particular system works.

The IDEF3 method provides modes to represent both

  • Process Flow Descriptions to capture the relationships between actions within the context of a specific scenario, and
  • Object State Transition to capture the description of the allowable states and conditions.

This method is part of the IDEF family of modeling languages in the field of systems and software engineering.

IDEF2 Simulation Model Design

The third IDEF (IDEF2) was originally intended as a user interface modeling method. However, since the [node:1369] Program needed a simulation modeling tool, the resulting IDEF2 was a method for representing the time varying behavior of resources in a manufacturing system, providing a framework for specification of math model based simulations. It was the intent of the methodology program within ICAM to rectify this situation but limitation of funding did not allow this to happen. As a result, the lack of a method which would support the structuring of descriptions of the user view of a system has been a major shortcoming of the IDEF system. The basic problem from a methodology point of view is the need to distinguish between a description of what a system (existing or proposed) is supposed to do and a representative simulation model that will predict what a system will do. The latter was the focus of IDEF2, the former is the focus of IDEF3.

IDEF1X Information Modeling

IDEFIX (Integration Definition for Information Modeling) is a data modeling language for the developing of semantic data models. IDEF1X is used to produce a graphical information model which represents the structure and semantics of information within an environment or system.

Use of the IDEF1X permits the construction of semantic data models which may serve to support the management of data as a resource, the integration of information systems, and the building of computer databases. This standard is part of the IDEF family of modeling languages in the field of software engineering.

In 1983, the U.S. Air Force initiated the Integrated Information Support System (I2S2) project under the ICAM program. The objective of this project was to provide the enabling technology to logically and physically integrate a network of heterogeneous computer hardware and software. As a result of this project, and industry experience, the need for an enhanced technique for information modeling was recognized.

From the point of view of the contract administrators of the Air Force IDEF program, IDEF1X was a result of the ICAM IISS-6201 project and was further extended by the IISS-6202 project. To satisfy the data modeling enhancement requirements that were identified in the IISS-6202 project, a sub-contractor, DACOM, obtained a license to the Logical Database Design Technique (LDDT) and its supporting software (ADAM). From the point of view of the technical content of the modeling technique, IDEF1X is a renaming of LDDT.

LDDT had been developed in 1982 by Robert G. Brown of The Database Design Group entirely outside the IDEF program and with no knowledge of IDEF1. Nevertheless, the central goal of IDEF1 and LDDT was the same: to produce a database neutral model of the persistent information needed by an enterprise by modeling the real-world entities involved. LDDT combined elements of the relational data model, the E-R model, and data generalization in a way specifically intended to support data modeling and the transformation of the data models into database designs

The graphic syntax of LDDT differed from that of IDEF1 and, more importantly, LDDT contained interrelated modeling concepts not present in IDEF1. Therefore, instead of extending IDEF1, Mary E. Loomis of DACOM wrote a concise summary of the syntax and semantics of a substantial subset of LDDT, using terminology compatible with IDEF1 wherever possible. DACOM labeled the result IDEF1X and supplied it to the ICAM program, which published it in 1985.

IDEF1 Information Modeling

Body

From Wikipedia: IDEF1:

'The ICAM Program [..] developed a series of techniques known as the IDEF (ICAM Definition) Methods which included the following [..] IDEF1 used to produce an “information model” which represents the structure and semantics of information within the environment or system.'

IDEF1 was developed under ICAM program priority 1102 by Dr. Robert R. Brown of the Hughes Aircraft Company, under contract to SofTech, Inc. Dr. Brown had previously been responsible for the development of IMS while working at Rockwell International (Rockwell chose not to pursue IMS as a marketable product; International Business Machines (IBM), which had served as a support contractor during development, subsequently took over the product and was successful in further developing it for market.) Dr. Brown credits his Hughes colleague Mr. Timothy Ramey as the inventor of IDEF1 as a viable formalism for modeling information structures. The two Hughes researchers built on ideas from and interactions with many luminaries in the field at the time. In particular, IDEF1 draws on the following techniques:

- the Evolving Natural Language Information Model (ENALIM) technique of Dr. G. M. Nijssen (Control Data Corporation) — this technique is now more widely known as NIAM or the Object-Role Model ORM;

- the network data structures technique, popularly called the CODASYL approach, of Dr. Charles Bachman (Honeywell Information Systems);

- the hierarchical data management technique, implemented in IBM's IMS data management system, developed by Dr. R. R. Brown (Rockwell International);

- the relational approach to data of Dr. E. F. Codd (IBM);

- The Entity-Relationship Approach (E-R) of Dr. Peter Chen (UCLA).

LDDT had been developed in 1982 by [node:1684] of The Database Design Group entirely outside the IDEF program and with no knowledge of IDEF1. LDDT combined elements of the relational data model, the E-R model, and generalization in a way specifically intended to support data modeling and the transformation of the data models into database designs. The graphic syntax of LDDT differed from that of IDEF1 and, more importantly, LDDT contained interrelated modeling concepts not present in IDEF1. Mary E. Loomis wrote a concise summary of the syntax and semantics of a substantial subset of LDDT, using terminology compatible with IDEF1 wherever possible. DACOM labeled the result IDEF1X and supplied it to the ICAM program.

The effort to develop IDEF1 resulted in both a new method for information modeling and an example of its use in the form of a "reference information model of manufacturing." This latter artifact was developed by D. S. Coleman of the D. Appleton & Company (DACOM) acting as a sub-contractor to Hughes and under the direction of Mr. Ramey. Personnel at DACOM became quite expert at IDEF1 modeling and subsequently produced a training course and accompanying materials for the IDEF1 modeling technique.

The initial approach to IDEF information modeling (IDEF1) was published by the ICAM program in 1981, based on current research and industry needs. The theoretical roots for this approach stemmed from the early work of Edgar F. Codd on relational theory and Peter Chen on the entity-relationship model. The initial IDEF1 technique was based on the work of Dr. R.R. Brown and Mr. T.L. Ramey of Hughes Aircraft and Mr. D.S. Coleman of D. Appleton & Company, with critical review and influence by Charles Bachman, Peter Chen, Dr. M.A. Melkanoff, and Dr. G.M. Nijssen.

IDEF0 Functional Modeling

IDEF0 (Integration Definition for Function Modeling) is a function modeling methodology for describing manufacturing functions, which offers a functional modeling language for the analysis, development, reengineering, and integration of information systems; business processes; or software engineering analysis.

IDEF0 is part of the IDEF family of modeling languages in the field of software engineering, and is built on the functional modeling language Structured Analysis and Design Technique (SADT).

The IDEF0 Functional Modeling method is designed to model the decisions, actions, and activities of an organization or system. It was derived from the established graphic modeling language Structured Analysis and Design Technique (SADT) developed by Douglas T. Ross and SofTech, Inc.. In its original form, IDEF0 includes both a definition of a graphical modeling language (syntax and semantics) and a description of a comprehensive methodology for developing models. The US Air Force commissioned the SADT developers to develop a function model method for analyzing and communicating the functional perspective of a system. IDEF0 should assist in organizing system analysis and promote effective communication between the analyst and the customer through simplified graphical devices.

PRINCE2®

Body

From Wikipedia: PRINCE2:

PRojects IN Controlled Environments (PRINCE) is a project management method. It covers the management, control and organisation of a project. "PRINCE2" refers to the second major version of this method and is a registered trademark of the Office of Government Commerce (OGC), an independent office of HM Treasury of the United Kingdom.

From Official PRINCE2® Website:

PRINCE2 is a de facto standard developed and used extensively by the UK government and is widely recognised and used in the private sector, both in the UK and internationally. It embodies established and proven best practice in project management.

PRINCE2® (Projects IN Controlled Environments), is a widely used project management method that navigates you through all the essentials for running a successful project.

PRINCE2 is a flexible method and is aimed at all types of projects.

Integration Definition (IDEF)

(Integration DEFinition) is a family of modeling languages in the field of systems and software engineering. They cover a wide range of uses, from functional modeling to data, simulation, object-oriented analysis/design and knowledge acquisition. These "definition languages" were developed under funding from U.S. Air Force and although still most commonly used by them, as well as other military and Department of Defense (DoD) agencies, are in the public domain.

The most-widely recognized and used of the IDEF family are IDEF0, a functional modeling language building on SADT, and IDEF1X, which addresses information models and database design issues.

Capability Maturity Model Integration (CMMI)

Body

CMMI project is a collaborative effort sponsored by the U.S. Department of Defense Office of the Secretary of Defense/Acquisition, Technology, and Logistics (OSD/AT&L) and the National Defense Industrial Association (NDIA), with participation by government, industry, and the Software Engineering Institute (SEI). The project's objective is to develop a product suite that provides industry and government with a set of integrated products to support process and product improvement. The intent is to preserve government and industry investment in process improvement and enhance the use of multiple models. The project's outputs will be integrated model(s), assessment method(s), and training materials. DoD's concerns were to stop proliferation of CMMs and to standardize on one model. Work continues at a frantic pace on this project. However, since industry has a lot of effort and money invested in the SW-CMM (and to a lesser extent, the SE-CMM), implementation may not proceed as quickly as some anticipate.