0% found this document useful (0 votes)
51 views6 pages

IT Research

The document discusses three common diagramming techniques: entity-relationship diagrams, data flow diagrams, and object-oriented diagrams. It describes the key components and conventions of each technique, including examples of specific diagramming methods like Chen's ERD notation and Yourdon and Coad's DFD notation.

Uploaded by

youngmr
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views6 pages

IT Research

The document discusses three common diagramming techniques: entity-relationship diagrams, data flow diagrams, and object-oriented diagrams. It describes the key components and conventions of each technique, including examples of specific diagramming methods like Chen's ERD notation and Yourdon and Coad's DFD notation.

Uploaded by

youngmr
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

1.

Diagramming Method

When it comes to recording the results of a system analysis, there are so many diagramming tools and methods available that it can be difficult deciding which one to use. Before discussing the details of any template or methodology, there are two principles that are common to all diagramming techniques. First, the context of a diagram must be clear, and second, each diagram must present a view of the system that is independent of other views. A diagram's context must be fully understood by its title, title block, a reference to a larger (smaller) context, or some combination thereof. Time and version dependencies should also be considered. Care to waste your time writing a new program - from an old database document? A date and time stamp will resolve any confusion. If you can expect a second version to be made (almost always), a version identification will also help. Some media (e.g. the Internet) facilitate keeping a document within context, while others (e.g. paper) require extra care. If there will be more than one type of diagram for a system, each diagram type must be Orthogonal to all the others. Orthogonal projections show aspects of a system from perspectives that are fully independent of each other. In the same way that an architect views a building plan from front, side and planar elevations (relating to the perpendicular x, y and z axes), we we want to view a system from similar orthogonal views. Given a 3-dimensional system, any 2-dimensional view will hide components that occur in the other dimension. The same principle applies when you move from a physical, 3-dimensional system to a software system which can have even more independent dimensions. Having multiple perspectives ensures that there aren't any portions of the system that remain hidden or under-analyzed. Now that we've established a context for our discussion, let's evaluate some of the methodologies in which we have overlapping diagramming techniques. I've chosen three to discuss in detail: entity-relationship diagrams, data-flow diagrams, and object-oriented diagrams. It would have been best to select orthogonal techniques, but as you'll see, there is some overlap even within these well-established practices. Entity Relationship Diagrams As the name describes, an entity-relationship diagram (ERD) is used to model the entities that a computer system records information about, and the relationships between those entities. The evolution of an ERD typically progresses either from scratch (through an interview process) or is reverse-engineered from an existing database schema. The varieties of ERD's therefore support various stages of development, beginning with a user-readable form that allows validation of a design, and culminating in versions that are used by developers to validate a design at detailed and/or summary levels.

Bachman Many developers and CASE tools still use Bachman's crow-foot notation to indicate the cardinality of a relationship. Where necessary, a relationship type is often written on or near the line that represents a relationship. Since the Bachman notation is unique only in representing the relationship (a line), and Visio allows you to draw a line anywhere and/or change the line-ends anywhere a line is drawn, the Bachman crow-foot notation can be used with any other template. Peter Chen Chen's original method is the basis for many writings on ERD's. While the traditional aspects of entities and relationships are represented as boxes and lines (respectively), there are a number of unique attributes to his present method: 1. The cloud symbol represents aggregations of smaller ER diagrams, in the context of a logical design (as opposed to a physical design). 2. The double-box represents a weak entity, which is dependent on its parent entity. Note: Visio does not support this feature. 3. A diamond symbol represents a type of relationship. 4. Relationship adornments are added adjacent to the lines to indicate connectivity (I, M, N) and cardinality, e.g. "(0,3)". 5. The data-structure diagram (an alternate form of the ERD) uses arrows to show I:M relationships. 6. Circles represent the attributes of an entity, although Visio labels this icon as value. 7. A human figure represents a user icon. James Martin Visio's Martin ERD template is based on the symbols used in the Martin notation to draw objectoriented analysis and design diagrams. This notation has the following attributes: 1. Rectangles and ovals represent entities and attributes (or data items), as with Chen's notation. 2. Simple lines indicate relationships, and adornments are added adjacent to the lines to indicate the type of relationship (written) and its connectivity (0, 1, *). 3. A line with a midpoint arrow indicates a message or data-flow. 4. Simple lines connected by a dot indicate a boolean and/or computation. 5. A rounded rectangle represents activity. 6. A large arrow represents an event. 7. A triangle with a numeric label represents a connection. A diagram that uses all of these notation elements simultaneously can be very elaborate and potentially confusing. By conventional techniques, an ERD will only contain entity, data item, and relationship symbols, while the remaining elements (especially activity and event items) usually appear in an object diagram.

Data Flow Diagrams The formal, structured analysis approach employs the data-flow diagram (DFD) to assist in the functional decomposition process. I learned structured analysis techniques from DeMarco , and those techniques are representative of present conventions. To summarize, DFD's are comprised of four components: 1. External interactors are represented by a rectangle. 2. Data stores are represented by an open rectangle (2 or 3 sides). 3. Processes are represented by any rounded object (a circle, oval, or square with rounded corners). A DFD process may represent system function at one of various levels, atomic through aggregate. 4. Data flows are represented by arrows, with labels indicating their content. The following templates are described with respect to these conventions. These Visio templates include nodes with a sub-paging feature that facilitates creating subordinate diagrams, and in navigating multi-tiered models after a design has been completed. Chris Gane / Trish Sarson The Gane/Sarson method stresses the identification of each node to help reference process narratives that further define each component either in plain text or pseudocode. 1. A data store is represented as an open rectangle (3 sides, open on the right). 2. Processes are represented by a rounded upright rectangle, subdivided into sections for a reference value, a process description, and an optional location specifier. Yourdon and Coad This Visio template, based on the Yourdon and Coad method, includes components for creating data-flow diagrams and also object state diagrams. Some unique attributes of their DFD notation include: 1. A data store is represented as two parallel, horizontal lines. 2. Processes are represented by a circle, and adorned with a double circle for multiple processes (indicating that further decomposition exists at a lower level). Note: the oval process should be reserved for object or class diagrams.

Object Oriented Diagrams Given the presence of four Visio object-oriented diagram templates, and the fact that many of the diagramming methods contribute to UML emerging as a standard, it is instructive to review each template and note its features. Sally Shlaer and Stephen Mellor The Shlaer/Mellor method is considered an older technique that should be used on existing projects that have not migrated to UML. The major components of this model include:

Domain chart - used to partition the system into domains and subsystems. Information Model - used to build a static analysis model of a system. This shows objects, relationships, and inheritance structures, and define class attributes and methods. Designate primary keys and formalize relationships. State model - used to analyze the object's behavior over time. Process Diagram, or Action Data Flow Diagram, for an action shown in the State Model. Object Communication Model (OCM) - summarizes the asynchronous event communication between state models in the system. Object Access Model (OAM) - summarizes the synchronous communication between state models and object instance data.

James Rumbaugh Rumbaugh's methodology, the Object Modeling Technique (OMT), defines class, object, state, and data-flow diagrams to model a system analysis and design. Rumbaugh is a major contributor to UML (described below) and the Fusion method. Unique attributes of OMT object models include:

Object diagram

1. Object nodes are subdivided into sections for data and processes. 2. Object attributes are shown as text, not as separate nodes. 3. Ternary associations between objects are shown as diamonds, with lines connecting the participants. 4. Inheritance relationships are shown as lines with various line ends. 5. Cardinality characteristics are shown as relationship adornments.

State-transition diagram (dynamic model)

1. Processes are shown as ovals. 2. The initial state process is identified with a filled-in dot and an arrow that points to the first state. Similarly, the final state is indicated by an arrow pointing to a circled dot. 3. State transitions are identified with a notation "a / b", where event a causes action b.

Data-flow diagram (functional model)

1. Processes are shown as ovals. 2. Data stores are shown as two parallel, horizontal lines (similar to Yourdon and Coad). The Object Modeling Technique also allows two different models of data to be displayed in the same diagram. By doing so, one diagram can show two different levels of association. Grady Booch Booch's notation is generally regarded as the most complete for representing object-oriented systems. Unfortunately, the notation is also complex and can lead to fragmented or duplicated information across model diagrams. Booch considers himself more of a developer than a methodologist, so he concentrates more on the results of system analysis and design than its process. He is a major contributor to UML, and has also made his notation a property of the public domain. His notation includes six types of diagrams: class, object, state transition, interaction, module, and process. The Visio Booch template supports all of these except state transition, which is supported with the Rumbaugh template. Unified Modeling Language The Unified Modeling Language (UML) is "a language for specifying, constructing, visualizing and documenting the artifacts of a software-intensive system". UML has evolved from the work of Grady Booch, James Rumbaugh, and Ivar Jacobsen, associates at Rational Corporation. These three assimilated their respective technologies into a single specification that was published in January, 1997. With the help of the Object Management Group, UML is rapidly becoming an industry standard documentation method. UML does not mandate a particular development process, although it was designed to support a variety of object-oriented development processes. It is hoped that the existence of a widelyaccepted documentation standard may contribute to a standardized process. A system that has been documented with UML will be comprised of one or more of the following documents:

Use-case diagrams Static structure diagrams (Class diagrams) State diagrams (activity diagrams) Sequence diagrams Collaborations Implementation diagrams (component and deployment diagrams) Stereotypes

Use-Case diagrams are based on Jacobsen's OOSE methodology and have the following features: 1. An agent is represented by a human stick-figure. 2. A use case (or process) is represented by an oval 3. A use (or interaction) is represented by a double-arrow line.

4. The system boundary is shown by a large rectangle. Actors are shown outside, use cases are shown inside, and interactions between them cross the system boundary.

2. Analysis Design Programming Assuming that a new system is to be developed, the next phase is system analysis. Analysis involved a detailed study of the current system, leading to specifications of a new system. Analysis is a detailed study of various operations performed by a system and their relationships within and outside the system. During analysis, data are collected on the available files, decision points and transactions handled by the present system. Interviews, on-site observation and questionnaire are the tools used for system analysis. Based on the user requirements and the detailed analysis of a new system, the new system must be designed. This is the phase of system designing. It is a most crucial phase in the development of a system.

3. Design Method Design Methods is a broad area that focuses on:

Divergence Exploring possibilities and constraints of inherited situations by applying critical thinking through qualitative and quantitative research methods to create new understanding (problem space) toward better design solutions Transformation Redefining specifications of design solutions which can lead to better guidelines for traditional and contemporary design activities (architecture, graphic, industrial, information, interaction, et al.) and/or multidisciplinary response Convergence Prototyping possible scenarios for better design solutions that incrementally or significantly improve the originally inherited situation Sustainability Managing the process of exploring, redefining and prototyping of design solutions continually over time Articulation - the visual relationship between the parts and the whole.

The goal of design methods is to gain key insights or unique essential truths resulting in more holistic solutions in order to achieve better experiences for users with products, services, environments and systems they rely upon. Insight, in this case, is clear and deep investigation of a situation through design methods, thereby grasping the inner nature of things intuitively.

You might also like