Software Modelling and Design

Slides:



Advertisements
Similar presentations
Software Design Fundamentals
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Design Concepts and Principles
Lecture 8- Analysis Modeling The Elements of Anaylsis Model The Elements of Anaylsis Model Data Modeling, Functional Modeling and Information Flow Data.
Analysis Modeling.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Software Design Deriving a solution which satisfies software requirements.
Introduction To System Analysis and Design
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
The chapter will address the following questions:
Introduction To System Analysis and design
Chapter 10 Architectural Design
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Introduction To System Analysis and Design
SOFTWARE DESIGN.
SOFTWARE DESIGN Design Concepts Design is a meaningful engineering representation of something that is to be built It can be traced to a customer’s requirements.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Drexel University CS 451 Software Engineering Winter Yuanfang Cai Room 104, University Crossings
Analysis Modeling. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
Design Concepts and Principles Instructor: Dr. Jerry Gao.
Design Concepts By Deepika Chaudhary.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Developed by Reneta Barneva, SUNY Fredonia Software Design and Software Engineering.
Software Engineering B.Tech IT/II Sem-II Term: Unit-4 PPT SLIDES Text Books:1.Software Engineering, A practitioner’s approach Roger s. Pressman.
Building analysis model  Analysis modeling uses a combination of text and diagrammatic forms to depict requirements for data function and behavior in.
Chapter : 8 Design Concepts
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Software Design. Introduction Designing engineering encompasses the set of principles concepts and practices that lead to the development of a high quality.
DESIGN PROCESS AND CONCEPTS. Design process s/w design is an iterative process through which requirements are translated into a “blueprint” for constructing.
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Elements Of Modeling. 1.Data Modeling  Data modeling answers a set of specific questions that are relevant to any data processing application. e.g. ◦
1 8.1 Requirements Analysis Rules of Thumb Rules of Thumb Models should focus on requirements that are visible within the problem or business domain. The.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Design Concepts ch-8
GRASP – Designing Objects with Responsibilities
CompSci 280 S Introduction to Software Development
CompSci 280 S Introduction to Software Development
Analysis and design modeling
Software Design Principles
Chapter ? Quality Assessment
Entity Relationship (E-R) Modeling
Software Specification Tools
System Design and Modeling
Design engineering Prepared By:Jay A.Dave..
Design and Implementation
Lecture 9- Design Concepts and Principles
Software Quality Engineering
Data Dictionaries ER Diagram.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Abstract descriptions of systems whose requirements are being analysed
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
CIS 375 Bruce R. Maxim UM-Dearborn
Object-Oriented Analysis
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Chapter 20 Object-Oriented Analysis and Design
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Lecture 9- Design Concepts and Principles
Software Construction Lecture 2
Chapter 9 Architectural Design.
Requirement Analysis using
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Software Modelling and Design Unit IIII

Translating requirement model into design model

The Control Specifications (CSPEC) is used to indicate (1) how the software behaves when an event or control signal is sensed and (2) which processes are invoked as a consequence of the occurrence of the event.  The process specification describes the input to a function, the algorithm, the PSPEC indicates restrictions and limitations imposed on the process (function), performance characteristics that are relevant to the process, and design constraints that may influence the way in which the process will be implemented. A data dictionary is a structured repository of data about data.  Weekly timesheet=Emplyee_Name + Employee_ID + {Regular_hours + overtime_hours} Pay_rate = {Horly | Daily | Weekly} + Dollar_amount Employee_Name = Last + First + Middle_Init

Each of the elements of the analysis model provides information that is necessary to create the four models required for a complete specification of design. 1. The data/class design transforms analysis classes into design classes along with data structure required for a complete specification of design. 2. The architectural design defines the relationship between major structural elements of the software; architectural styles and design patterns help achieve the requirements defined for the System. 3. The interface design describes how the software communicates with systems that interoperate with it and with humans that use it. 4. The component-level design transforms structural elements of the software architecture into procedural description of software components.

Data Modelling Data modeling is the process of creating a data model for the data to be stored in a Database. This data model is a conceptual representation of Data objects. 

Cardinality 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‘. Example: One object can relate to only one other object (a 1:1 relationship); One object can relate to many other objects (a 1: N relationship); Some number of occurrences of an object can relate to some other number of occurrences of another object (an M: N relationship);

Relationships Data object are connected to one another in variety of different ways. This links or connection of data objects or entities with each other is called as relationship. Example: A connection is established between person and car , because the two objects are related. 1. A person owns a car 2. A person purchase a car

Data objects A data object‖ is a representation of almost any composite information that must be understood by software. By composite information, something that has a number of different properties or attributes. Example: Width‖ (a single value) would not be a valid data object, but dimensions (incorporating height,width and depth) could be defined as an object.

Attributes Attributes define the properties of a data object and take one of three different characteristics. (The data stored in database at a particular moment of time is called instance of database.) They can be used to: 1. Name an instance of the data objects, 2. Describe the instance, 3. Make reference to another instance in another table. Example: attributes must be defined as ―identifier‖. Referring to data object car‖, a reasonable identifier or attribute might be the ID No‖,‖ Color‖.

Analysis Modeling The analysis model and requirements specification provide a means for assessing quality once the software is built. Requirements analysis results in the specification of software‘s operational characteristics.

The analysis model as a bridge between the system description and the design model. Objectives Analysis model must achieve three primary objectives: 1. Describe customer needs 2. Establish a basis for software design 3. Define a set of requirements that can be validated once the software is built.

elements of analysis modeling

Scenario based Elements The system is described from the user‘s point of view using this approach. This is 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. A Class Responsibility Collaborator (CRC) model 

Behavioral Elements The behavior of the system can have profound effect on the design that is chosen. 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.

Domain Analysis 1.Defination Domain Analysis is the process that identifies the relevant objects of an application domain. The goal of Domain Analysis is Software Reuse. The higher is the level of the life-cycle object to reuse, the larger are the benefits coming from its reuse, and the harder is the definition of a workable process.

2. Concept and technical application domain of the software Frameworks are excellent candidates for Domain Analysis: they are at a higher level than code but average programmers can understand them. (b) Umbrella activity involving the Identification, analysis, and specification of common requirements from a specific application domain, typically for reuse in multiple projects (c) Object-oriented domain analysis involves the identification, analysis, and specification of reusable capabilities within a specific application domain in terms of common objects, classes, subassemblies, and frameworks

3. Input and Output Structure of domain analysis (a) Figure shows the flow of the input and the output data in the domain analysis module. (b) The main goal is to create the analysis classes and common functions. (c) The input consists of the knowledge domain. (d) The input is based on the technical survey, customer survey and expert advice. (e) The output domain consists of using the input as the reference and developing the functional models

Design Modeling Software design is an iterative process through which requirements are translated into a ―blueprint‖ for constructing the software. The design is representation at a high level of abstraction – data, functional, and behavioral requirements. As design iterations occur, subsequent refinement leads to design representations at much lower levels of abstraction. There are three characteristics that serve as a guide for the evaluation of a good design: 1. The design must implement all the explicit requirements contained in the requirements model, and it must accommodate all the implicit requirements desired by stakeholders. 2. The design must be a readable, understandable guide for those who generate code and for those who test and subsequently support the software. 3. The design should provide a complete picture of the software, addressing the data, functional and behavioral domains for implementation.

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‖.

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. The use of Information Hiding as a design criterion for modular systems provides the greatest benefits when modifications are required during testing and later, during software maintenance. Because most data and procedures are hidden from other parts of the software, inadvertent errors introduced during modifications are less likely to propagate to other location within the software.

Abstraction At the highest level of abstraction, a solution is stated in broad terms using the language of the problem environment. At lower levels of abstraction, a more detailed description of the solution is provided. As we move through different levels of abstraction, we work to create procedural and data abstractions. A procedural abstraction refers to a sequence of instructions that have a specific and limited function. An example of a procedural abstraction would be the word open for a door. A data abstraction is a named collection of data that describes a data object. In the context of the procedural abstraction open, we can define a data abstraction called door. Like any data object, the data abstraction for door would encompass a set of attributes that describe the door (e.g. door type, swing direction, weight).

Data Flow Diagram (DFD) 1) Data Flow Diagram (DFD) is also called as Bubble chart‘. This is a graphical technique that represents information flow, and transformer those are applied when data moves from input to output. 2) DFD represents system requirements those becomes program in design. 3) DFD may be further partitioned into different levels to show detailed information flow e.g. level 0, level 1, level 2 etc.

4) DFD focuses on the fact ̳what data flow‘ rather how data is processed 5) DFD is used to represent information flow, and the transformers those are applied when data moves from input to output. 6) To show the data flow with more details the DFD is further extended to level 1, level 2, level 3 etc. as per the requirement. 7) The typical value for the DFD is seven. Any system can be well represented with details up to seventh levels.

Level 0 First level of DFD is known as Context level or Level 0 which gives overall working of System. Level 1 gives modularize representation of system containing primary modules of system. From Level 2 onwards a designer starts revisiting each and every module to go in depth analysis of system which contains smaller functions to be performed by every module.

The Safe Home product, a level 0 DFD

library management system level 0 DFD.

library management system level 1 DFD

data flow diagram level 0 and 1 for a Book publishing House

level 0 and level 1 Dataflow diagram for “Online examination level 0 and level 1 Dataflow diagram for “Online examination. Win17 of form filling on MSBTE website”.

DFD level 0 and level 1 for Hotel management system.