soft_engg_lecture15 - Software Engineering Asim Banerjee...

Info iconThis preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
Software Engineering Asim Banerjee 11 th March 2010 soft_engg@daiict.ac.in
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
IT314 - Software Engineering 2 Lecture Seating Plan (Sample) #1 #2 #3 #4 #5 #6 #7 #8 #9 Stage #10 #11 #12 #13 #20 #21 #24 #23 #22
Background image of page 2
IT314 - Software Engineering 3 What is a Good Design? (1/2) There is no absolute basis for judging “goodness of design” i.e. it is often situation dependent. e.g. embedded software may consider memory usage to be more important that comprehensibility Following characteristics are often associated with good design: Capture all the functionality correctly Be efficient Be easy to modify Be easy to understand
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
IT314 - Software Engineering 4 What is a Good Design? (2/2) Good modular design is achieved by using the rule of “divide and conquer” NOTE: If different modules are independent of each other, they can be understood easily
Background image of page 4
IT314 - Software Engineering 5 Good Design and Maintenance Understandability of design is particularly important since substantial part of the life cycle effort is spent on software maintenance NOTE: Otherwise, maintenance effort will increase many fold Design features for enhancing understandability: Use consistent and meaningful names “Cleanly” decompose modules (high cohesion and low coupling) Neatly arrange modules in a hierarchy (low fan-out and abstraction)
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
IT314 - Software Engineering 6 Software Design Approaches (1/2) Function oriented design System is viewed as a set of functions Each function is then successively decomposed into smaller sub-functions NOTE: This process continues until each subfunction is “small enough” to be coded independently System state is centralized and it is available for use by all functions e.g. data NOTE: Forms the basis for several methodologies
Background image of page 6
IT314 - Software Engineering 7 Software Design Approaches (2/2) Object oriented design System is viewed as a collection of objects Each object is a member of some “class” Classes may inherit features from its parents Objects communicate with one another by “passing messages” System state is decentralized amongst objects NOTE : Each object has its own internal data which defines its state NOTE: These may be viewed as complementary approaches .
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
IT314 - Software Engineering 8 Design Reviews The purpose of the design review is to ensure that the design Satisfies the requirements Is of “good” quality If errors are made during the design process, they will ultimately reflect themselves in the code and the final system. NOTE: The cost of removing faults caused by errors that occur during the design increases with the delay in detecting the errors.
Background image of page 8
IT314 - Software Engineering 9 Review Process Each member studies the design before the meeting and with the aid of a checklist, marks items that the reviewer feels are incorrect or need clarification. The
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 07/30/2011 for the course IT 315 taught by Professor Asimbanerjee during the Spring '07 term at Punjab Engineering College.

Page1 / 37

soft_engg_lecture15 - Software Engineering Asim Banerjee...

This preview shows document pages 1 - 10. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online