SOFTWARE ENGINEERING

Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

SOFTWARE ENGINEERING : 

SOFTWARE ENGINEERING SOFTWARE DESIGN

INTRODUCTION : 

In s/w engineering,there are mainly 3 types of activities: EXTERNAL DESIGN ARCHITECTURAL DESIGN DETAILED DESIGN INTRODUCTION INTERNAL DESIGN

Slide 3: 

EXTERNAL DESIGN Includes conceiving,planning out and specifying externally observable chracteristics of the s/w product. Eg:user displays,report formats etc. INTERNAL DESIGN Involves conceiving,planning out and specifying the internal structure and processing details of the s/w. O/P-specification of architectural structure,details of algorithms & data structures and test plan.

Slide 4: 

ARCHITECTURAL DESIGN Concerned with refining the conceptual view of the system,identifying internal processing functions etc. DETAILED DESIGN Specification of algorithms that implement the functions,actual interconnection among functions and data structures etc.

TEST PLAN : 

Descrbes the objectives of testing,test completion criteria,integration plan,tools & techniques to be used etc. External and architectural design:s/w Requirements Review to Preliminary Design Review Detailed design: Preliminary Design Review to Critical Design Review TEST PLAN

FUNDAMENTAL DESIGN CONCEPTS : 

ABSTRACTION INFORMATION HIDING STRUCTURE MODULARITY CONCURRENCY VERIFICATION AESTHETICS FUNDAMENTAL DESIGN CONCEPTS

ABSTRACTION : 

Separates conceptual aspects of the system from the implementation details. Eg: 1.Specify the FIFO property of a queue without concern for the representation scheme to be used in implementing the queue. 2.Specify the functional characteristics of the routines that manipulate data structures without concern for the algorithmic details. ABSTRACTION

Slide 8: 

Organizes thought processes by separating structural considerations and detailed algorithmic details from functional characteristics. Structural considerations are considered prior to consideration of algorithmic details. Design is a process of proceeding from abstract considerations to concrete representations.

ABSTRACTION MECHANISMS : 

FUNCTIONAL ABSTRACTION DATA ABSTRACTION CONTROL ABSTRACTION Controls the complexity of the design process by systematically proceeding from abstract to the concrete. ABSTRACTION MECHANISMS

Slide 10: 

FUNCTIONAL ABSTRACTION Involves the use of parameterized subprograms and binds different parameter values on different invocations of the subprogram It is a collection of subprograms(groups). A group provides a functional abstraction in which the visible routines communicate with other groups and the hidden groups exist to support the visible ones.

Slide 11: 

DATA ABSTRACTION Specifies a data type or data object by specifying legal operations on objects(representation and manipulation details are suppressed) DATA ENCAPSULATION-Single instance of a data object defined in terms of the operations that can be performed on it. ABSTRACT DATA TYPES-denotes declaration of data type(eg. Stack) from which numerous instances can be created.

Slide 12: 

Representation of data items and implementation details of the functions that manipulate the data items are hidden within the group. Other groups that use the abstraction do not have access to the internal details of abstract objects. Objects of abstract types are thus known only by the functions that can be performed on them.

Slide 13: 

CONTROL ABSTRACTION Used to state a desired effect without stating the exact mechanism of control. Eg:IF and WHILE stmts “for all I in S sort files I” Control abstraction,at architectural design level, permits specification of sequential subprograms,exception handlers,concurrent pgm units etc without concern for the exact implementation details.

INFORMATION HIDING : 

Each module in the system hides the internal details of its processing activities and modules communicate only through well defined interfaces. Hides: Difficult and changeable design decisions. Data structure,its internal linkage and implementation details of the procedures that manipulate it. INFORMATION HIDING

Slide 15: 

Format of ctrl blocks such as those of queues in an OS Character codes,ordering of character sets and other implementation details. Shifting,masking and other machine dependent details

STRUCTURE : 

Permits decomposition of large system into smaller,more manageable units with well defined relationships to the other units in the system. Network-nodes and arcs Nodes-Processes and shared variables STRUCTURE

Slide 17: 

Process-functional,data and control abstraction groups Groups-visible specification part and hidden part Visible specification part-processing interfaces,data types etc. Body of processing group-hierarchical collection of subprograms that implement the attributes

Slide 18: 

Hierarchical ordering of abstractions: Relationship “uses” and complementary relationship “is used by”.(A B) Represented as acyclic directed graph with a root entity Hierarchical structure isolate s/w components and promotes ease of understanding, implementation,debugging etc.

Slide 19: 

Structure charts Directly recursive routines(closed arcs) Indirectly recursive routines(A B C A) Utility groups-contain lowest level routines that are used throughout the hierarchy.(Eg.math library fns)

MODULARITY : 

Modular systems incorporate collections of abstractions in which each functional,data and control abstraction handles a local aspect of the problem being solved. Modular systems consist of well-defined interfaces among the units. Modularity enhances design clarity,which in turn eases implementation,debugging,testing,documenting and maintainance of the s/w product MODULARITY

PROPERTIES OF MODULAR SYSTEMS : 

Each processing abstraction is a well-deined subsystem that is potentially useful in other applications. Each fn in each abstraction has a single well-defined purpose. Each fn manipulates only one major data structure. Functions share global data selectively Fns that manipulate instances of abstract types are encapsulated with the data structure being manipulated. PROPERTIES OF MODULAR SYSTEMS

CONCURRENCY : 

Independent processes activated simultaneously if multiple processors are available. On a single processor,concurrent processes can be interleaved at execution time Permits implementation of time-shared,multi-programmed and real-time systems. Problems include:DEADLOCK,MUTUAL EXCLUSION & SYNCHRONISATION CONCURRENCY

Slide 23: 

DEADLOCK Processes waiting for other processes to complete so that they can proceed. MUTUAL EXCLUSION To ensure that multiple processes do not attempt to update the same components of the shared processing state at the same time. SYNCHRONISATION Enables concurrent processes operating at different execution speeds to communicate at appropriate points during execution.

VERIFICATION : 

A design is verifiable if it can be demonstrated that the design will result in an implementation that satisfies customer requirements Done in 2 steps: Verification of s/w requirements def satisfies customer needs. Verification that the design satisfies the requirements def. VERIFICATION

AESTHETICS : 

Simplicity,elegance and clarity of pupose distinguish products of outstanding quality from mediocre products. An aesthetically pleasing product is easily recognized. AESTHETICS

authorStream Live Help