Page 123 - DCAP405_SOFTWARE_ENGINEERING
P. 123
Software Engineering Mandeep Kaur, Lovely Professional University
Notes Unit 8: Design Engineering
CONTENTS
Objectives
Introduction
8.1 What is Software Design?
8.2 Design Process
8.3 Design Quality
8.4 Design Concepts
8.4.1 Modularity
8.5 Summary
8.6 Keywords
8.7 Review Questions
8.8 Further Readings
Objectives
After studying this unit, you will be able to:
Recognize the design process and design quality
Scan the various design concepts
Introduction
Software design is a process of problem solving and planning for a software solution. After the
purpose and specifications of software are determined, software developers will design or
employ designers to develop a plan for a solution. It includes low-level component and algorithm
implementation issues as well as the architectural view.
8.1 What is a Software Design?
A software design may be platform-independent or platform-specific, depending on the
availability of the technology called for by the design.
Software design can be considered as putting solution to the problem(s) in hand using the
available capabilities. Hence the main difference between Software analysis and design is that
the output of the analysis of a software problem will be smaller problems to solve and it should
not deviate so much even if it is conducted by different team members or even by entirely
different groups. But since design depends on the capabilities, we can have different designs for
the same problem depending on the capabilities of the environment that will host the solution
(whether it is some OS, web , mobile or even the new cloud computing paradigm). The solution
will depend also on the used development environment (Whether you build a solution from
scratch or using reliable frameworks or at least implement some suitable design patterns)
116 LOVELY PROFESSIONAL UNIVERSITY