0% found this document useful (1 vote)
2K views

Differentiate Between A Structure Chart and A Flow Chart

A structure chart differs from a flow chart in that it does not show the sequential ordering of tasks or data interchange between modules. A DFD can be systematically developed by examining the SRS to identify high-level functions, data inputs/outputs, and interactions, and representing them in a top-level DFD. Each high-level function is then decomposed into sub-functions by identifying sub-functions, their data inputs/outputs, and interactions.

Uploaded by

Pankaj Kumar
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
2K views

Differentiate Between A Structure Chart and A Flow Chart

A structure chart differs from a flow chart in that it does not show the sequential ordering of tasks or data interchange between modules. A DFD can be systematically developed by examining the SRS to identify high-level functions, data inputs/outputs, and interactions, and representing them in a top-level DFD. Each high-level function is then decomposed into sub-functions by identifying sub-functions, their data inputs/outputs, and interactions.

Uploaded by

Pankaj Kumar
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Differentiate between a structure chart and a flow chart. Ans.

: - A structure chart differs from a flow chart in three principal ways: It is usually difficult to identify the different modules of the software from its flow chart representation. Data interchange among different modules is not represented in a flow chart.

Sequential ordering of tasks inherent in a flow chart is suppressed in a structure chart.

Write down some essential activities required to develop the DFD of a system more systematically. Ans.: - A DFD model of a system can be systematically developed in the following way: 1. The SRS document is examined to determine: Different high-level functions that the system needs to perform. Data input to every high-level function. Data output from every high-level function. Interactions (data flow) among the identified high-level functions. These aspects of the high-level functions are then represented in a diagrammatic form. This forms the top-level Data Flow Diagram (DFD), usually called the DFD 0. 2. The high-level functions described in the SRS document are examined. If there are between 3 to 7 high-level requirements in the SRS document, then each of the highlevel function can be represented in the form of a bubble, if there are more than 7 bubbles, then some of them have to be combined. If there are less than 3 bubbles, then some of these have to be split. 3. Each high-level function is decomposed into its constituent sub-functions through the following set of activities: Different sub-functions of the high-level function are identified. Data input to each of these sub-functions are identified. Data output from each of these sub-functions are identified. Interactions (data flow) among these sub-functions are identified. Step 3 is repeated recursively for each sub-function until a sub-function can be represented by using a simple algorithm.

Association vs. Aggregation vs. Composition


Association is the most general (m:n) relationship. Aggregation is a stronger relationship where one is a part of the other. Composition is even stronger than aggregation, ties the lifecycle of the part and the whole together. Association relationship can be reflexive (objects can have relation to itself), but aggregation cannot be reflexive. Moreover, aggregation is anti-symmetric (If B is a part of A, A can not be a part of B). Composition has the property of exclusive aggregation i.e. an object can be a part of only one composite at a time. For example, a Frame belongs to exactly one Window whereas in simple aggregation, a part may be shared by several objects. For example, a Wall may be a part of one or more Room objects. In addition, in composition, the whole has the responsibility for the disposition of all its parts, i.e. for their creation and destruction. o in general, the lifetime of parts and composite coincides o parts with non-fixed multiplicity may be created after composite itself o parts might be explicitly removed before the death of the composite For example, when a Frame is created, it has to be attached to an enclosing Window. Similarly, when the Window is destroyed, it must in turn destroy its Frame parts.

Cyclomatic complexity For more complicated programs it is not easy to determine the number of independent paths of the program. McCabes cyclomatic complexity defines an upper bound for the number of linearly independent paths through a program. Also, the McCabes cyclomatic complexity is very simple to compute. Thus, the McCabes cyclomatic complexity metric provides a practical way of determining the maximum number of linearly independent paths in a program. Though the McCabes metric does not directly identify the linearly independent paths, but it informs approximately how many paths to look for. There are three different ways to compute the cyclomatic complexity. The answers computed by the three methods are guaranteed to agree. Method 1: Given a control flow graph G of a program, the cyclomatic complexity V(G) can be computed as: V(G) = E N + 2 where N is the number of nodes of the control flow graph and E is the number of edges in the control flow graph.

For the CFG of example shown in fig. 10.4, E=7 and N=6. Therefore, the cyclomatic complexity = 76+2 = 3. Method 2: An alternative way of computing the cyclomatic complexity of a program from an inspection of its control flow graph is as follows: V(G) = Total number of bounded areas + 1 In the programs control flow graph G, any region enclosed by nodes and edges can be called as a bounded area. This is an easy way to determine the McCabes cyclomatic complexity. But, what if the graph G is not Version 2 CSE IIT, Kharagpur planar, i.e. however you draw the graph, two or more edges intersect? Actually, it can be shown that structured programs always yield planar graphs. But, presence of GOTOs can easily add intersecting edges. Therefore, for non-structured programs, this way of computing the McCabes cyclomatic complexity cannot be used. The number of bounded areas increases with the number of decision paths and loops. Therefore, the McCabes metric provides a quantitative measure of testing difficulty and the ultimate reliability. For the CFG example shown in fig. 10.4, from a visual examination of the CFG the number of bounded areas is 2. Therefore the cyclomatic complexity, computing with this method is also 2+1 = 3. This method provides a very easy way of computing the cyclomatic complexity of CFGs, just from a visual examination of the CFG. On the other hand, the other method of computing CFGs is more amenable to automation, i.e. it can be easily coded into a program which can be used to determine the cyclomatic complexities of arbitrary CFGs. Method 3: The cyclomatic complexity of a program can also be easily computed by computing the number of decision statements of the program. If N is the number of decision statement of a program, then the McCabes metric is equal to N+1.

CMM Level 1. Initial 2. Repeatable

Focus Competent people Project management

Key Process Ares Software project planning Software configuration management Process definition Training program Peer reviews Quantitative process metrics Software quality management Defect prevention Process change management Technology change management

3. Defined

Definition of processes

4. Managed

Product and process quality

5. Optimizing

Continuous process improvement

PSP is a framework that helps engineers to measure and improve the way they work. It helps in developing personal skills and methods by estimating and planning, by showing how to track performance against plans, and provides a defined process which can be tuned by individuals.

Six sigma
The purpose of Six Sigma is to improve processes to do things better, faster, and at lower cost. It can be used to improve every facet of business, from production, to human resources, to order entry, to technical support. Six Sigma can be used for any activity that is concerned with cost, timeliness, and quality of results. Therefore, it is applicable to virtually every industry.

Six Sigma at many organizations simply means striving for near perfection. Six Sigma is a disciplined, data-driven approach to eliminate defects in any process from manufacturing to transactional and product to service. The fundamental objective of the Six Sigma methodology is the implementation of a measurementbased strategy that focuses on process improvement and variation reduction through the application of Six Sigma improvement projects. This is accomplished through the use of two Six Sigma sub-methodologies: DMAIC and DMADV. The Six Sigma DMAIC process (define, measure, analyze, improve, control) is an improvement system for existing processes failing below specification and looking for incremental improvement. The Six Sigma DMADV process (define, measure, analyze, design, verify) is an improvement system used to develop new processes or products at Six Sigma quality levels. It can also be employed if a current process requires more than just incremental improvement. Both Six Sigma processes are executed by Six Sigma Green Belts and Six Sigma Black Belts, and are overseen by Six Sigma Master Black Belts.

You might also like