- Analysis modeling
- Analysis modeling approaches
- Domain Analysis
- Building the analysis model
- Design Modeling
- The Design Model
- Q) What is Data flow diagram? Explain Level 0 &Level 1?
Data Flow Diagram(DFD)
- As information moves through software, it is modified by a series of transformations.
- A data flow diagram is a graphical representation that depicts information flow and the transforms that are applied as data move from input to output.
- The basic form of a data flow diagram, also known as a data flow graph or a bubble chart.
- The data flow diagram may be used to represent a system or software at any level of abstraction. In fact, DFDs may be partitioned into levels that represent increasing information flow and functional detail.
- The DFD provides a mechanism for functional modeling as well as information flow modeling.
Level 0:A level 0 DFD also called a fundamental system model or a context model represents the entire software element as a single bubble with input and output data indicated by incoming and outgoing arrows, respectively additional processes (bubbles) and information flow paths are represented as the level 0 DFD.
Level 1: a level 1 DFD might contain five or six bubbles with interconnecting arrows each of the processes represented at level 1 is a sub function of the overall system depicted in the context model. As we noted earlier, each of the bubbles may be refined or layered to depict more detail.
Notations used for to creating DFD.
A rectangle : is used to represent an external entity, that is a system element (e.g., hardware, a person, another program) or another system that produces information for transformation by the software or receives information produced by the software
An arrow: represents one or more data items (data objects). All arrows on a data flow diagram should be labeled. The double line represents
1) Draw DFD level 0 & level 1 For Library Management?
1) Draw DFD level 1 For Student Management system?
1) Draw DFD level 0 For Banking Management system?
1) Draw DFD level 0 & level 1 For Railway Reservation system?
- Q) Explain the terms Cardinality & Modality with example?
- The data model must be capable of representing the number of occurrences objects in a given relationship. Cardinality is the specification of the number of occurrences of one [object] that can be related to the number of occurrences of another [object].
- Cardinality is usually expressed as simply ‘one’ or ‘many.’ For example, a husband can have only one wife, while a parent can have many children. Taking into consideration all combinations of ‘one’ and ‘many,’ two [objects] can be related as
- One-to-one (1:1)—An occurrence of [object] ‘A’ can relate to one and only one occurrence of [object] ‘B,’ and an occurrence of ‘B’ can relate to only one occurrence of ‘A.’
- One-to-many (1: N)—One occurrence of [object] ‘A’ can relate to one or many occurrences of [object] ‘B, but an occurrence of ‘ B’ can relate to only one occurrence of ‘A.’ For example, a mother can have many children, but a child can have only one mother.
- Many-to-many (N:N)—An occurrence of [object] ‘A’ can relate to one or more occurrences of ‘B,’ while an occurrence of ‘B’ can relate to one or more occurrences of ‘A.’
For example:-an uncle can have many nephews, while a nephew can have many uncles.
Modality: The modality of a relationship is 0 if there is no explicit need for the relationship to occur or the relationship is optional.
The modality is 1 if an occurrence of the relationship is mandatory. Figure 4.4 illustrates the relationship, cardinality, and modality between the data objects customer and repair action.
Q] Draw a use case diagram for Bank Management System.
Q] Draw a use case diagram for a music system.
Q] Use case Diagram for Hospital management System?
Q] With reference to software design give the meanings of
(ii) Functional independence
(iv) Information hiding
- Modularity :
Software architecture and design patterns embody modularity; that is, software is divided into separately named and addressable components, sometimes called modules that are integrated to satisfy problem requirements. It is the compartmentalization of data and function. It is easier to solve a complex problem when you break it into manageable pieces. ―Divide-and-conquer‖. Don‘t over-modularize. The simplicity of each small module will be overshadowed by the complexity of integration ―Cost‖.
- Functional Independence:
The concept of functional Independence is a direct outgrowth of modularity and the concepts of abstraction and information hiding. Design software such that each module addresses a specific sub-function of requirements and has a simple interface when viewed from other parts of the program structure. Functional independence is a key to good design, and to software quality. Independence is assessed using two qualitative criteria: cohesion and coupling.
- Refactoring :
It is a reorganization technique that simplifies the design of a component without changing its function or behavior. When software is re-factored, the existing design is examined for redundancy, unused design elements, inefficient or unnecessary algorithms, poorly constructed data structures, or any other design failures that can be corrected to yield a better design.
- Information Hiding :
Hiding implies that effective modularity can be achieved by defining a set of independent modules that communicate with one another only that information necessary to achieve software function.
Q] What is Data Dictionary? List the advantages of Data Dictionary?
ANS: A data dictionary is a collection of descriptions of the data objects or items in a data model for the benefit of programmers and others who need to refer to them. A first step in analyzing a system of objects with which users interact is to identify each object and its relationship to other objects. This process is called data modeling and results in a picture of object relationships. After each data object or item is given a descriptive name, its relationship is described (or it becomes part of some structure that implicitly describes relationship), the type of data (such as text or image or binary value) is described, possible predefined values are listed, and a brief textual description is provided. This collection can be organized for reference into a book called a data dictionary.
Advantages of Data Dictionary
- It is a valuable reference in any organization because it provides documentation.
- It improves the communication between system analyst and user by establishing consistent definitions of various items terms and procedures.
- It is a good tool for manage operators and other members of the development team to understand requirements and design.
- It helps the analyst to simplify the structure for meeting the data requirements of the system.
- It is just like a store of all data elements information that can link all phases of software development life cycle.
- It is used to remove the redundancy in data definition.
- It is an important step building a database. Most data base management system has a data dictionary as a standard feature.
- During implementation, it serves as a base against which developers compare their data description.
- Explain the various elements of analysis modeling in detail?
List of various elements
1] Scenario- based elements
- Use-cases- text
- Use-case diagrams
- Activity diagrams
- Swim lane diagrams
2] Flow-Oriented elements
- Data Flow diagrams
- Control-flow diagrams
- Processing narratives
3] Class – based elements
- Class diagrams
- Analysis packages State Diagrams
- CRC models
- Collaboration diagrams
4] Behavioral Elements
- State Diagrams
- State Diagrams
Scenario based Elements:The system is described from the user‘s point of view using this approach. This is often the first part of analysis model that is developed to serve as input for the creation of other modeling elements.
Class-based Elements: Each usage scenario implies a set of objects that are manipulated as an actor interacts with the system. These objects are categorized into classes – a collection of things that have similar attributes and common behaviors.
Behavioral Elements :The behavior of the system can have profound effect on the design that is chosen. The analysis model must provide modeling elements that depict the behavior. The state diagram is one of the methods for representing behavior of a system.
Flow-Oriented Elements :The information is transformed as it flows through the computer based system. The system accepts inputs in a variety of forms, applies functions to transform it; and produces output in different forms. The transforms may comprise a single logical comparison, a complex numerical algorithm or an expert system. The elements of the information flow are included here.
9) What is domain analysis? Explain with suitable examples.
Ans:1] Software domain analysis is the identification, analysis and specification of common requirements from a specific application domain, typically for reuse in multiple projects within that application domain.
2] Object-oriented domain analysis is the identification, analysis and specification of common, reusable capabilities within a specific application domain, in terms of common objects, classes, subassemblies, and frameworks.
Example:The specific application domain can range from avionics to banking, from multimedia video game to software embedded within medical devices. Goal To find or create analysis classes and/or common functions those are broadly applicable, so that they may be reused.
Figure: Domain Analysis
The role of domain analyst is to discover and define reusable analysis patterns, analysis classes and related information that may be used by many people working on similar but not necessarily the same applications.
MSBTEReview Question on chapter-3
- Describe a simple DFD for cash withdrawal by an account holderfrom saving bank?
- Describe object oriented analysis modeling approach with example?
- Draw DFD level 0 & level 1 for bank management system?
- Draw Use case diagram for hospital management system?
- Define following with example
- Data attributes
- Cardinality & Modularity
- Data Object
- Draw deployment diagram for safe homesystem.?
- Describe Data Dictionary? Lists its Advantages?
- Explain DFD with example
- With neat diagram explain translation of analysis model into design model?
- Write difference between cardinality &Modaling?
- What are different data design elements & architectural design elements?
- Write Importance of analysis modeling ?
- What are characteristics of good design?
- With the reference to the software design give the meaning of
- Functional Dependence
- Information hiding
- Explain the various elements of analysis modeling in detail?
- Explain PSPEC Process with an example?
- Draw level 0 & level 1 DFD for library management system. Make suitable example?