Prashant

  • Uploaded by: nagesh_gupta03
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Prashant as PDF for free.

More details

  • Words: 2,129
  • Pages: 49
LN COLLEGE OF MANAGENMENT & TECHNOLOGY A1 BATCH BCA 2nd year

THE WARRIOR’S

PRESENTATION MAINTAINED BY :THE WARRIOR’S

Mr• .SINGH Singh Prashant PRASHANT (G.L) Mr• .GAUTAM Gautam Rahul RAHUL Mr• .YADAV yadav Nilesh NILESH Mr• .KHAN khan Afzal AFZAL NILESH Mr• .BORANA Borana Nilesh Mr• .AMETA AmetaDINESH Dinesh

Software Design • A Design is a meaningful representation of something to be built . • In software engineering design focuses on four major area viz. Data ,architecture, interfaces and components . • A Software Design begins with requirements model

Design Model 

The Design Model



Component level Design Interface Design

Architectural Design Data Design

Design Model v Data Design transforms this model into data structure which will be required for software implementation. v Architectural Design is derived from the system specification, analysis model and interaction of the subsystems which have been defined in the analysis model. v Interface design describes how the software communicates with itself, other elements of the system and the human who use the system. v Component Design transforms the structural specification into a procedural description. 

Design Guidelines § Design should have an architecture which can be implemented using modern fashion. § Design should be modular § Design should represent data, architecture, interface and components distinctly § Data structures should be appropriate to the objects which are to be implemented. § A good design should indicate independent functional characteristics § Interface should reduce complexity between modules as well as external

Characteristics of Design Methods: • A mechanism of translating the analysis model into a design representation. • A notation for representing the functional components and their interfaces. • Hueristics for refinement and partitioning . • Guidelines for quality assessment .

Design Principles • Design should not be tunnel vision, alternative approaches should be considered. • Design should be traceable to analysis model. • Design should not be reinvented, rather it should integrate new ideas with already existing patterns. • Structure of the software design should mimic (copy) the actual Problem structure. • Design should have uniformity and integrity. • Design should be able to accommodate change. • Design is not coding and coding is not design – Design has higher abstraction than source code. • Good quality of design should be ascertained by using various design concepts and measures.

Design Concepts Abstraction

 

ü When a solution to a problem is considered, many levels of abstraction can be posed. ü ü When a solution is stated at a broad level, it has highest abstraction. 

ü In Design activity abstraction level is reduced. 

ü At the lowest level of abstraction source code is generated.

Design Concepts Refinement

 

ü Stepwise refinement is a top down design strategy ü ü Refinement is actually a process of elaboration ü ü Through successive refinement we elaborate on the original statement and provide more and more details. ü ü Abstraction allows designer to specify the problem without going into lower level details, wherein refinement helps the designer to reveal lower level details.

Design Concepts Modularity

 

ü Software is divided into separately named and addressable components called modules. These modules are integrated to satisfy the problem requirements. ü Modular decomposability: Can decompose the problem ü Modular composability: Can compose the modules to make one system ü Modular understandability: Can independently understand the module without knowledge of other modules ü Modular Continuity: Change in system affects only some modules, not all resulting in less side effects. ü Modular protection: If something goes wrong in a module and is confined in only that module, then impact of the error is less.

Design Concepts 

v Software architecture is the hierarchical structure of the program components. v Structural Model:- represents architecture as an organized collection of program components. v Framework Model:- it increase the level of design abstraction by attempting to identify repeatable architecture design frameworks that are encountered in similar type of application . v Dynamic Model:- address the behavioural aspects of the program architecture, indicating how the structure or system configuration may change as a function of external events . v Process Model:-focus on the design of business or technical process that the system must accommodate . v Functional model:-can be used to represents the functional hierarchy of a system.

Design Concepts Control Hierarchy (Program Structure)

 

ü It represents how the program modules are organized and their hierarchy ü Different notation is used to depict control hierarchy, most common is tree like structure. ü Fan out and Fan in ü Super ordinate and subordinate module ü Visibility and Connectivity 

Design Concepts Structured Partitioning



If the architectural style of the system is hierarchical, then the program structure can be partitioned horizontally or vertically.



Decision making module

Lower level module

Design Concept Data Structure

 

This is a representation of the logical relationship among individual elements of data. E.g.





§ Scalar : single element of information § Vector: scalar items are organized as a list or group § Linked List: Have both scalar and vector items aligned in nodes.

Design Concept Software Procedure

 

ü This focuses on processing details of each module individually ü ü Exact steps, decision points, repetitive operations are provided

Design Concept Information Hiding

  

Modules should be specified and designed in a manner so that information contained within a module is not visible/accessible to other modules.



Functional Independence Each functionally independent module does a specific job. Independence is measured using two criteria:





Cohesion: A cohesive module does only a single task and has minimum interaction with other modules.





Coupling: This specifies the interdependence among modules.



Example of Coupling ãHighly

coupled when there is a great deal of dependencies ãLoosely coupled components have some dependency, but the interconnections among components are weak ãUncoupled components have no interconnections at all

Example of Cohesion

Design Documentation Ø In a design specification firstly the overall scope effort of the design effort is mentioned Ø Next is the specification of the data design Ø Architecture is specified Ø Interfaces are specified Ø Last part contains supplementary data like algorithm, tabular data, other relevant information

Architectural Design 



The data and program components which are required to build a computer based system are represented in the Architectural Design.

Architectural Design Data Design § Data design creates a model of data 



§ We define the data objects during software requirement analysis and then model them using the Entity Relationship diagram and data dictionary. 

Architectural Design 

Data Design : Principles to followed



ü Data objects should be identified in the data model and their impact on software system must be evaluated. ü All data structures and the operation to be performed on each data should be identified. ü A data dictionary must be created and used to define data & program design. ü Low level data design should be deferred until late in design phase ü Data structures should be reusable ü Software design and programming language should support the specification of data type

Architectural Design: Architectural Styles

De centered Architectures



A data store resides at the centre of the architecture and other components frequently access, add, update, delete data within the store.





Client Software

Client Software

Data Store

Client Software

Client Software

Architectural Design: Architectural Styles

Dataflow Architectures



When input data are to be transformed through a series of computational components into the output data, the dataflow architecture is applied





Pipes Filter Filter Filter

Filter

Filter

Filter

Filter

Filter

Architectural Design: Architectural Styles

Call and Return Architectures

 

Main Program/Subprogram Architecture:  Here a main program invokes a number of program components which may themselves invoke still other components. Remote Procedure Call Architecture:  In this style the components of a main program architecture are distributed across multiple computers on a network. 

Architectural Design: Architectural Styles Object Oriented Architectures

 

The components of a system encapsulates both data and the operations to be performed on the data.





Layered Architectures

  

  

A number of layers are defined. As we move from layer to layer we come closer to machine instruction set. User interface operations are serviced at the outer layer and OS level operations are performed at the inner layer. Intermediate layers provide operations for utility services and application software.

Structured Design Structured design is characterised by Data Flow oriented design method. Two flows are presented: Transform Flow: 



Data from outer world

Data is converted into internal form

Data is transformed

o/p

Structured Design Transaction Flow:

 

Information is often a single data item, called a transaction which triggers other data flow along one of many paths



___

Transaction

T

Transaction Centre

___ | | |

| | |

| | |

Action Points ___

User Interface Design 



 



The user interface design is the design of the interfaces between the human and the computer. While designing a User interface the user has to consider three types of user: Novice Knowledgeable intermittent users Knowledgeable frequent users

User Interface Design User Interface Design Process

 

This comprises of four distinct framework Activities:

 

ü User, task and environment analysis and modeling ü Interface Design ü Interface Construction ü Interface Validation

User Interface Design Task Analysis and Modeling: Interface Design Activities



Ø Establish goals and intention of each task Ø Map each of them to a sequence of actions Ø Specify action sequence of each task and subtask as it will be executed at the user interface level Ø Indicate the state of the system Ø Define control mechanism Ø Show how control mechanism affects the state of the system Ø Indicate how the user interprets the state of the system from inputs provided though the interface 

User Interface Design Interface Objects and Actions

 

ü An important step in interface design is to identify the interface objects and the actions applied to them ü ü Next is Graphical design of the user interface. Issues to be considered in GUI design: ü ü ü ü ü

System Response Time User Help Facilities Error Information Handling Command Labeling

User Interface Design Interface Design Prototyping

 

ü A Prototype is used for user evaluation and iterative method is used for this 

Design Evaluation

 

ü The prototype which has been created should be evaluated to determine whether it satisfies the needs of the user. 

ü Design tools are available to design GUI which results in reduction in development time.

Component Level Design The aim of component level design is to translate the design model into operational software.



Component Level Design Structured Programming

 

v It uses a set of logical constructs from which any program could be formed. v v These constructs are sequence, condition and repetitions.

Component Level Design Graphical Design Notations



§ Graphical Tools like Flow Chart or Box Diagram provide pictorial patterns which can be used to depict procedural details § In a flowchart a rectangular box indicates a process . § A diamond represents a logical condition. § Arrows are use to show the flow of control § A sequence is represented by processing boxes connected by flow lines with arrows indicating flow of control § Condition is represented in a diamond and if true then processing is followed and if false , the else path is followed

Component Level Design Flo w C h a rt exa m p le fo r S e q u e n ce , C o n d itio n a n d R e p e titio n

Component Level Design

Component Level Design Tabular Design Notation : • Decision tables are very useful form of notation where there are several combination of condition and the corresponding action to be taken in an application 



Component Level Design Tabular Design Notation (Decision Table)





Program Design Language • Program Design language is also called as PSEUDO CODE or STRUCTURED ENGLISH. • It basically uses the vocabulary of the English language and the overall syntax of a structured programming language • The main difference between a PDL and a programming Language is that the PDL uses descriptive text within PDL statement .

Program Design Language • The PROGRAM DESCRIPTION LANGUAGE has the following characteristics :• A fixed syntax of keyword . This provide for the structured constructs , data declaration . • A free syntax of natural language :-This describe the processing features . • The Data declaration facilities :- this facilities should enable declaration

Component Level Design Program Design Language

 

Related Documents

Prashant
May 2020 26
Prashant
June 2020 27
Prashant Patil
July 2020 25
Prashant Cv.docx
December 2019 34
Prashant Singh
June 2020 45
Prashant Update
May 2020 13