www.Tutorialsforu.info

Free Tutorials Cave

  • Increase font size
  • Default font size
  • Decrease font size
Your Ad Here



System Description and Specification - Page 5

E-mail Print
Article Index
System Description and Specification
Page 2
Page 3
Page 4
Page 5
All Pages

2.3 Tools for Process and Data Modeling




Technical methodologies for system development propose that the documents that result from the analysis phase serve as a base for the design phase. Therefore the more detailed, articulate, and clear the analysis documents, the more useful they will be in program design. One way to accomplish this is through the use of modeling tools that allow representing the essence of a system, usually in graphical terms. Many such tools have been proposed over the years and two have achieved widespread acceptance, namely, data flow diagrams and entity-relationship diagrams.

Data flow diagrams originated in, and are often associated with, structured analysis. Entity-relationship diagrams are linked with data base systems and with object-oriented methods. Nevertheless, we believe that either method is useful independently of the context or analysis school in which it originated. In fact, data flow diagrams and entity-relationship diagrams have been used in modeling processes and data flow in both the structured analysis and the object-oriented paradigms.

System modeling can be undertaken using varying degrees of abstraction. One type of model, sometimes called a physical or implementation model, addresses the technical details as well as the system’s essence. Program flowcharts are often considered as an implementation modeling tool since a flowchart defines how a particular process can be actually coded. Essential or conceptual models, on the other hand, are implementation independent. Their purpose is to depict what a system must do without addressing the issue of how it must do it.Although implementation models are useful in documenting and explaining existing systems, it is a general consensus among system analysis that conceptual models are to be preferred in the analysis phase. The following arguments are often listed in favor of conceptual models:

1. Some incorrect solutions that result from implementation-dependent models can be attributed to bias or ignorance on the part of the designers. A conceptual model, on the other hand, fosters creativity and promotes an independent and fresh approach to the problem’s solution.

2. Excessive concern with implementation details at system specification and analysis time takes our attention away from the fundamentals. This often leads to missing basic requirements in the specification.

3. Implementation-dependent models require a technical jargon that often constitutes a communications barrier between clients and developers.

The target of this modeling effort can be either an existing or a proposed system. In this respect we should keep in mind that the fundamental purpose of modeling an existing system is to learn from it. The learning experience can be boiled down to avoiding defects and taking advantage of desirable features.

2.3.1 Data Flow Diagrams

In his work on structured analysis DeMarco suggests that one of the additions required for the analysis phase is a graphical notation to model information flow. He then proceeds to create some of the essential graphical symbols and suggests a heuristic to be used with these symbols. A few years later Gane and Sarson refined this notation calling it a data flow diagram or DDF. A data flow diagram is a process modeling tool that graphically depicts the course of data thorough a system and the processing operations performed on this data. Figure 2.3 shows the basic symbols and notation used in data flow diagrams.
 

One variation often used in the Gane and Sarson notation is to represent processes by means of circles (sometimes called bubbles). A valid justification of this alternative is that circles are easier to draw than rounded rectangles. Processes are the core operation depicted in data flow diagrams. A process is often described as an action performed on incoming data in order to transform it. In this sense a process can be performed by a person, by a robot, or by software. Processes are usually labeled with action verbs, such as Pay, Deposit, or Transform, followed by a clause that describes the nature of the work performed. However, on higher level DFDs we sometimes see a general process described by a noun or noun phrase, such as accounting system, or image enhancement process. Routing processes that perform no operation on the data are usually omitted in essential DFDs. The operations performed by processes can be summarized as follows:

1. Perform computations or calculations

2. Make a decision

3. Modify a data flow by splitting, combining, filtering, or summarizing its original components

Internal or external agents or entities reside outside the system’s boundaries. They provide input and output into the system. In this sense they are often viewed as either sources or destinations. An agent is external if it is physically outside the system, for example, a customer or a supplier. Internal agents are located within the organization, but are logically outside of the system’s scope. For example, another department within the company can be considered as an internal agent. It is possible to vary the level of abstraction and magnification of details in a DFD. Some authors propose the designation of specific abstraction levels. In this sense a level 0 DFD, called a fundamental system model, consists of a single process bubble which represents the entire software system. A level I DFD could depict five or six processes which are included in the single process represented in the level 0 bubble. Although the notion that several DFDs can be used to represent different levels of abstraction is useful, the requirement that a specific number of processes be associated with each level could be too restrictive. Figure 2.4 shows an initial level of detail for representing a satellite imaging system.
Notice that in Figure 2.4 the process bubble has been refined with a header label that adds information regarding the process. In this case the header refers to who is to perform the process. Also notice that the processes are represented by noun phrases, which is consistent with the general nature of the diagram. Although this initial model provides some fundamental information about the system, it is missing many important details. For example, one satellite may be equipped with several sensing devices that generate different types of image data, each one requiring unique processing operations. Or a particular satellite may produce images that are secret; therefore, they should be tagged as such so that the delivery system does not make them available to unqualified customers. Figure 2.5 shows a second level refinement of the image processing system

 

The level of detail shown by the DDF in Figure 2.5 is much greater than that in Figure 2.4. From the refined model we can actually identify the various instruments on board the satellites and the operations that are performed on the image data produced by each instrument. However, the actual processing details are still omitted from the diagram, which are best postponed until the system design and implementation phases. Note that in Figure 2.5 the process names correct, format, and record are used as verbs, consistent with the greater level of detail shown by this model. Note that the names of satellites, instruments, and image formats do not exactly correspond to real ones.

Event Modeling
Many types of systems can be accurately represented by modeling data flow, but some cannot. For example, a burglar alarm system is event driven, as is the case with many real-time systems. First, Ward and Mellor, and later Hatley and Pribhai, introduced variations of the data flow diagram which are suitable for representing real-time systems or for the event-driven elements of conventional systems. The Ward and Mellor extensions to DFD symbols are shown in Figure 2.6.
The resulting model, called a control flow diagram or CFD, includes the symbols and functions of a conventional DFD plus others that allow the representation of control processes and continuous data flows required for modeling real-time systems. Equipped with this tool we are now able to model systems in which there is a combination of data and control elements. For example, a burglar alarm system as installed in a home or business includes a conventional data flow component as well as a control flow element. In this case the conventional data flow consists of user operations, such as activating and deactivating the system and installing or changing the password. The control flow elements are the signals emitted by sensors in windows and doors and the alarm mechanism that is triggered by these sensors. Figure 2.7 represents a CFD of a burglar alarm system.

2.3.2 Entity-Relationship Diagrams

Currently the most used tool in data modeling is the entity-relationship (E-R) diagram. This notation, first described in the early 1980s by Martin and later modified by Chen and Ross, is closely related to the entity-relationship model used in database design. E-R diagram symbols have been progressively refined and extended so that the method can be used to represent even the most minute details of the schema of a relational database. However, in the context of general system analysis we will restrict our discussion to the fundamental elements of the model. Since one of the fundamental operations of most computer systems is to manipulate and store data, data modeling is often a required step in the system analysis phase. E-R diagrams are often associated with database design; however, their fundamental purpose is the general representation of data objects and their relationship. Therefore the technique is quite suitable to data analysis and modeling in any context.

Furthermore, E-R notation can be readily used to represent objects and object-type hierarchies, which makes this technique useful in object-oriented analysis.

The entity-relationship model is quite easy to understand. An entity, or entity type, is a “thing” in the real world. It may be a person or a real or a conceptual object. For example, an individual, a house, an automobile, a department of a company, and a college course are all entity types. Each entity type is associated with attributes that describe it and apply to it. For example, the entity type company employee has the attribute’s name, address, job title, salary, and social security number; while the entity type college course has attribute’s name, number, credits, and class times. Notice that the entity employee is physical, while the entity college course is abstract or conceptual.

The entity-relationship model also includes relationships. A relationship is defined as an association between entities. In this sense we can say that the entity types employee and department are associated by the relationship works for since in the database schema every employee works for a department. By the same token we can say that the works on relationship associates an employee with a project, thus associating the entity types employee and project As shown in Figure 2.8, it is conventional practice to type entity and relationships in uppercase letters while attribute names have initial caps. Singular nouns are usually selected for entity types, and verbs for relationships. Attributes are also nouns that describe the characteristics of an entity type. An entity type usually has a key attribute which is unique and distinct for the entity. For example, the social security number would be a key attribute of the entity type employee, since no two employees can have the same social security number. By the same token, job title and salary would not be key attributes since several employees could share this characteristic. Notice that while some entities can have more than one key attribute, others have none. An entity type with no key attribute is sometimes called a weak entity. Key attributes are usually underlined in the E-R diagram.

In regards to relationships we can distinguish two degrees of participation: total and partial. For example, if the schema requires that every employee work for a department, then the works for relationship has a total participation. Otherwise, the degree of participation is a partial one. Cardinality constraints refer to the number of instances in which an entity can participate. In this sense we can say that the works for relationship for the types DEPARTMENT: EMPLOYEE has a cardinality ratio of 1:N; in this case an employee works for only one department but a department can have more than one employee. Figure 2.9 shows an entity-relationship diagram for a small company schema.

 
Figure 2.9 Entity-Relationship Diagram for a Company

The diagrams are read left to right or top to bottom. This convention is important: for example, when the diagram in Figure 2.9 is read left to right it is the department that controls the project, not vice versa.



 

Subscribe By Email

Enter your email address:

Delivered by FeedBurner

Translate

Donate

Development & maintainance needs time & money.
With your donation you can help us to keep this project alive
Donate:
  Monthly Monthly
Currency
Amount