0% found this document useful (0 votes)
11 views6 pages

Software Design Principles Overview

Uploaded by

SRI 2005
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views6 pages

Software Design Principles Overview

Uploaded by

SRI 2005
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1

PSNA COLLEGE OF ENGINEERING AND TECHNOLOGY


DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
CS2321 SOFTWARE ENGINEERING
Question Bank
Unit-III
SOFTWARE DESIGN

[Link] is the use of Architectural design?


The Architectural design defines the relationship between major structural
elements of the software, the “design patterns” that can be used ,and the constraints
that affect the way in which architectural design patterns can be applied.

[Link] Software design.


 Software design is an iterative process through requirements are translated
into a “blue print” for constructing the software.
 The blue print depicts a holistic view of software.

[Link] some of the Design principles.


 The design process should not suffer from tunnel vision.
 The design should not reinvent the wheel.
 The Design should exhibit uniformity & integration.
 Design is not coding ,coding is not design.
 The design should be traceable to the analysis model.

[Link] Procedural abstraction.


A Procedural abstraction is a named sequence of instructions that has a specific
and limited function.
Eg: Open Walk to the door, reach out & grasp the knob, turn knob & pull door
Step away from moving door.

[Link] does Data abstraction contains?


A Data abstraction is a named collection of data that describes a data object
Eg: door Attributes: door type, Swing direction, Opening mechanism, weight.

[Link],ASP/CSE
2

[Link] does Modularity concept mean?


Software architecture embodies modularity ;ie, Software is named in to
addressable components called modules, that are integrated finally.
C(P1+P2) > C(P1) + C(P2)
The perceived complexity of a problem that combines p1 7p2 is greater than
perceived complexity when each problem is considered separately.

[Link] some of the criteria’s used to define effective modular design .


 Modular decomposability
 Modular Composability
 Modular Understandability
 Modular Continuity.
 Modular protection

[Link] Fan-in & Fan-out.


Fan-out
A measure of the number of modules that are directly controlled by
another module.
Fan-in
Indicates how many modules directly control a given module.

[Link] horizontal partitioning & Vertical partitioning.


Horizontal partitioning Vertical partitioning
[Link] separate branches of the [Link] Control & work should be
Modular Hierarchy for each each distributed top-down in the program
major program function structure.
[Link] of fewer side-effects [Link] probability of side effects.
[Link] is easier to maintain [Link] to side effects when
Changes are made.

10. Write down the concept of Functional independence.


 Functional independence is achieved by developing modules with “single
minded” function and an “aversion” to excessive interaction with other
modules.
 Independent modules ,is easier to develop because function may be
compartmentalized,& interfaces are simplified.
 Independent modules are easier to maintain.

[Link],ASP/CSE
3

[Link] between expected requirements and exciting requirements.


Expected requirements Exciting requirements
Requirements are implicit to product
Customer does not state them explicitly
Requirements reflect features that go
beyond the customer’s expectations and
prove them to be very satisfying when
present.

[Link] is meant by software prototyping?


Software prototyping is a method of creating a model for the software product.
This is developed based on the currently known requirements. Software
prototyping helps in the better understanding of the required system. It is applied
for complicated and large systems. In software prototyping, the customer defines a
set of general objectives for the software, but does not identify the real input,
processing and output requirements.

[Link] is the work product of software design process and who does this?
 A design model that encompasses architectural, interface, component level
and their representations is the primary work product that is produced during
software design.
 Software engineers conduct each of the design tasks.

[Link] the term “software architecture.”


The software architecture of a program or a computing system is the structure of
the system, which comprises software components, externally visible properties of
those components and relationship among them. The architecture is the manner in
which the various components of the building are integrated to form a cohesive
whole.

15. What are the elements of design model?


i. Data design
ii. Architectural design
iii. Interface design
iv. Component-level design

[Link],ASP/CSE
4

16. Define design process.


Design process is a sequence of steps carried through which the requirements are
translated into a system or software model.

17. List the principles of a software design.


i. The design process should not suffer from “tunnel vision”
ii. The design should be traceable to the analysis model.
iii. The design should exhibit uniformity and integration.
iv. Design is not coding. v. The design should not reinvent the wheel.

18. What is the benefit of modular design?


Changes made during testing and maintenance becomes manageable and they do
not affect other modules.

19. What is a cohesive module?


A cohesive module performs only “one task” in software procedure with little
interaction with other modules. In other words cohesive module performs only one
thing.

20. What are the different types of Cohesion?


i. Coincidentally cohesive - The modules in which the set I\of tasks are related with
each other loosely.
ii. Logically cohesive – A module that performs the tasks that are logically related
with each other.
iii. Temporal cohesion – The module in which the tasks need to be executed in
some specific time span.
iv. Procedural cohesion – When processing elements of a module are related with
one another and must be executed in some specific order.
v. Communicational cohesion – When the processing elements of a module share
the data then such module is called communicational cohesive.

21. What is coupling?


Coupling is the measure of interconnection among modules in a program
structure. It depends on the interface complexity between modules.

22. What are the various types of coupling?


i. Data coupling – The data coupling is possible by parameter passing or data
interaction.
ii. Control coupling – The modules share related control data in control coupling.

[Link],ASP/CSE
5

iii. Common coupling – The common data or a global data is shared among
modules.
iv. Content coupling – Content coupling occurs when one module makes use of
data or control information maintained in another module.

23. What are the common activities in design process?


i. System structuring – The system is subdivided into principle subsystems
components and communications between these subsystems are identified.
ii. Control modeling – A model of control relationships between different parts of
the system is established. iii. Modular decomposition – The identified subsystems
are decomposed into modules.

24. What are the benefits of horizontal partitioning?


i. Software that is easy to test. ii. Software that is easier to maintain. iii.
Propagation of fewer side effects. iv. Software that is easier to extend.

25. What is vertical partitioning?


Vertical partitioning often called factoring suggests that the control and work
should be distributed top-down in program structure.

26. What are the advantages of vertical partitioning?


i. These are easy to maintain changes. ii. They reduce the change impact and error
propagation.

27. What are the various elements of data design?


i. Data object – The data objects are identified and relationship among various data
objects can be represented using ERD or data dictionaries. ii. Databases – Using
software design model, the data models are translated into data structures and data
bases at the application level. iii. Data warehouses – At the business level useful
information is identified from various databases and the data warehouses are
created.

28. List the guidelines for data design.


i. Apply systematic analysis on data.
ii. Identify data structures and related operations.
iii. Establish data dictionary.
iv. Use information hiding in the design of data structure.
v. Apply a library of useful data structures and operations.

[Link],ASP/CSE
6

PART-B

1. Discuss the Architectural styles in detail.

[Link] a DFD for restaurant in suppy in food to the customer.


[Link] various Architectures in Architectural Design.
[Link] in between data design and Architectural Design.
[Link] the concepts of cohesion and coupling. State the difference between
Cohesion and coupling with a suitable example
6. Explain the measure of interconnection among modules in a program structure
7. Describe transform mapping by applying design steps to an example system
8. Explain in detail about the various architectural styles for software design
9. Explain the user interface design and component level design in detail.
10. Describe the objectives and principles of software design
[Link] global variables typically leads to a poor design. Briefly discuss the use
of global variables in the context of coupling and cohesion

[Link],ASP/CSE

You might also like