20Bct35 - Software Engineering - Question Bank: Examples
20Bct35 - Software Engineering - Question Bank: Examples
20Bct35 - Software Engineering - Question Bank: Examples
UNIT-1
PART-A
1. Define software.
Software is a collection of instructions, procedures, documentation that performs
different tasks on a computer system.
Examples:
MS Word, Excel, Power Point, Google Chrome, Photoshop, MySQL, etc
13. Give a scenario where we can apply Prototyping model (can be asked for
Waterfall model also)
Prototyping can be applied for application where requirements are not clear to
the customers.
1. An e-commerce website, such as shopping site is an example where you can
implement the prototyping approach.
2. You can develop the prototype of the various web pages of the shopping site such
as catalogue page, product order page etc.
Waterfall model can be applied for application where requirements are completely
known and can follow sequential approach.
14. Draw the diagram to show linear and evolutionary process flow.(can be
asked for any process flow)
SPICE (ISO/IEC15504)
ISO 9001:2000
2. What is QFD?
Quality function deployment (QFD) is a quality management technique that translates
the needs of the customer into technical requirements for software.
registers
15. List the various category of classes used in identifying the classes in class based
models.
External entities (e.g:devices, people)
Things (e.g.reports)
Occurrences or events
Roles (e.g.manager) played by people.
Organizational units (e.g., division, group, team)
Places (e.g., manufacturing floor)
Structures (e.g., sensors)
21. What are the different relationships that exist between classes?
To help in the identification of collaborators, there are three different generic
relationships between classes:
(1) is-part-of relationship
(2) has-knowledge-of relationship, and
(3) depends-upon relationship
*************
UNIT-3
PART-B
1. Define software design.
Software design is an iterative process through which requirements are
translated into a blueprint for constructing the software.
2. What is the role of design?
The role of design is to produce a model or representation that exhibits firmness,
commodity and delight.
3. What is the purpose of data/class design?
The data/class design transforms class models into design class realizations the
requisite data structure required to implement the software
4. Tell about architectural design.
It defines the relationship between major structural elements of the software, the
architectural styles and design patterns that can be used to achieve the
requirements defined for the system.
5. Tell about interface design.
It describes how the software communicates with systems that interoperate with
it and with humans who use it.
6. Define component level design.
It transforms structural elements of the software architecture into a procedural
description of software components.
7. List the characteristics that serve as a guide for the evaluation of a good design.
The design must implement all the explicit requirements contained in the
requirements model and implicit requirements decided by stack holders.
The design must be readable and understandable.
The design should provide a complete picture of the software.
8. List the quality criteria’s of a good design(guidelines). (or) List the guidelines
related to software quality criteria (or) What are the characteristics of good
design?
1) Design should be modular.
2) Design should contain distinct representations of data, architecture,
interfaces and components.
3) It should lead to components that exhibit independent functional
characteristics.
4) It should be represented using a notation.
9. List the quality attributes to be considered in the software design process.
1) Functionality
2) Usability
3) Reliability
4) Performance
5) Supportability
10. List the characteristics that are common to all design methods.
1) A mechanism for the translation of the requirements model into a design
representation.
2) A notation for representing functional components and their interfaces.
3) Heuristics for refinement and partitioning.
4) Guidelines for quality assessment.
11. Name the two types of abstraction and tell about each of them.
1) Procedural abstraction: Refers to a sequence of instructions that have a
specific and limited function.
2) Data abstraction: Named collection data that describes a data object.
12. Tell about software design architecture.
Software architecture alludes to the overall structure of the software and the
ways in which that structure provides conceptual integrity for a system.
13. Name the properties of architectural design.
1) Structural properties
2) Extra functional properties
3) Families of related system.
14. Name the different models of architectural design.
1) Structural models
2) Framework models
3) Dynamic models
4) Process models
5) Functional models
15. Define pattern.
The patterns is a named nugget of insight which conveys the essence of a proven
solution to recurring problem within a certain context amidst competing concerns.
16. Tell the purpose/intent of design pattern.
To determine
1) Whether the pattern is applicable to the current work.
2) Whether the pattern can be reused.
3) Whether the pattern can serve as a guide.
17. Tell about separation of concerns.
Separation of concerns is a design concept that suggests that any complex
problem can be more easily handled if it is sub-divided into pieces that can be
solved or optimized independently.
A concern is a feature of behaviour that is specified as part of the requirements
model for the software.
18. Define modularity.
A software is divided into separately named and addressable components called
as modules.
19. Differentiate cohesion and coupling.
Cohesion is an indication of the relative functional strength of a module.
Coupling is an indication of the relative interdependence among modules.
20. Define refactoring.
It is a reorganisation technique that simplifies the design of a component without
changing its function or behaviour.
21. Name the types of classes the designer can create.
1) User interface class
2) Business domain class
3) Process class
4) Persistent class
5) System class
22. Name the four characteristics of a well-formed design.
1) Complete and sufficient
2) Primitiveness
3) High cohesion
4) Low coupling
23. Define component.
It is a modular, deployable and replaceable part of a system that encapsulates
implementation and exposes a set of interfaces.
24. Differentiate object oriented view with traditional view in component level
design.
Object oriented view: Component contains a set of collaborating classes.
Traditional view: Component is a functional element of a program that
incorporates processing logic, the internal data structures and an interface that
enables the component.
25 What is the role of module in the traditional component level design?
1) Control component that coordinates the invocation of all other problem
domain components.
2) The problem domain component that implements a complete or partial
function that is required by the customer.
3) Infrastructure component responsible for functions.
26 Name the basic design principles applicable for designing class-based
components.
1) Open closed principle
2) The Liskov substitution principle
3) Dependency inversion principle
4) Interface segregation principle
27 What is an interface?
An interface is a specifier for the externally-visible [public] operations of a class,
component, or other classifier (including subsystems) without specification of
internal structure.
PART-B
1. Outline the characteristics of a good design. (or) Tell the purpose of design
process. Outline the software quality guidelines and attributes.
2. Categorize the design concepts and elucidate each one with example.
3. Classify the object oriented design classes and explain each of them
4. List the characteristics of a well-formed design class and illustrate each of them
with example.
5. Sketch the dimensions of the design model and illustrate the four elements of
design model.
6. Apply open-closed principle and construct a detector class for safe home system.
7. List the steps that represent a typical task for component-level design. Apply
these steps and construct component-level design for safe home system.