[go: up one dir, main page]

0% found this document useful (0 votes)
38 views12 pages

20Bct35 - Software Engineering - Question Bank: Examples

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 12

20BCT35 - SOFTWARE ENGINEERING - QUESTION BANK

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

2. Mention the various types of software.


 System software
 Application software
 Engineering/scientific software
 Embedded software
 Product-line software
 Web Apps (Web applications)
 AI software

3. Define software engineering.


The application of a systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of software; that is, the application of
engineering to software.
4. Sketch the figure to depict the software engineering layers.

5. Outline the generic process framework activities?


 Communication
 Planning
 modelling
 Deployment
 Construction
6. Define process.
A process is a collection of activities, actions, and tasks that are performed when
some work product is to be created.
7. Define software process.
A software process as a framework for the activities, actions, and tasks that are
required to build high-quality software.
8. List out the different generic process model process flow.
 Linear process flow
 Iterative process flow
 Evolutionary process flow
 Parallel process flow
9. How to identify the task set for small project? (study any 4 points)
10. How to identify the task set for larger projects?(study any 4 points)

11. Define process pattern.


A process pattern describes a process-related problem that is encountered during
software engineering work, identifies the environment in which the problem has been
encountered, and suggests one or more proven solutions to the problem.
12. Mention the advantages/disadvantages of waterfall model ( can be asked
for any process models)
Advantages:
 Suited for smaller projects where requirements are well defined
 Before the next phase of development, each phase must be completed
Disadvantages:
 It is not desirable for complex project where requirement changes frequently
 Error can be fixed only during the phase

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)

Linear process flow

evolutionary process flow

15. Define pattern.


The pattern 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. Give the template for describing process pattern.
1.Pattern Name
2.Forces
3.Types
a) Stage Pattern
b) Task Pattern
c) Stage Pattern
4.Initial Context
5.Problem
6.Solution
7.Resulting Context
8.Related Pattern
9.Known Uses and Examples
17. Name the different approaches used for improvement and assessment of
software process. (or) State the standard used to assess software process.
 Standard CMMI Assessment Method for Process Improvement (SCAMPI)

 CMM-Based Appraisal for Internal Process Improvement (CBA IPI)

 SPICE (ISO/IEC15504)

 ISO 9001:2000

18. Give the purpose of “related patterns” in the template of process


patterns.(can be asked for any template)
 Provide a list of all process patterns that are directly related to this
one.
 This may be represented as a hierarchy or in some other diagrammatic
form.
 For example, the stage pattern Communication encompasses the task
patterns: ProjectTeam , CollaborativeGuidelines , ScopeIsolation ,
RequirementsGathering, ConstraintDescription, and
ScenarioCreation
19. Differentiate water fall model and V-model.
Waterfall model V-model
It is continuous process It is simultaneous process
The water fall is used when the If the user requirements are keep on
requirement are fixed. changing, not fixed then vi model is
better alternative.
Making changes in software in Making changes in software in V model
waterfall model is a costly affair is comparatively cheaper
Testing activities are performed after Testing activities starts with first stage
the developing activities are over itself
20. When to apply specialized process model and list its types.
 Specialized process models take on many of the characteristics of one or
more of the traditional models
 These models tend to be applied when a specialized or narrowly defined
software engineering approach is chosen
Types:
1. Component based development (Promotes reusable components)
2. The formal methods model (Mathematical formal methods are backbone here)
3. Aspect oriented software development (Uses crosscutting technology)
21. Gives the steps used in component based development.
1. Available component based products are researched and evaluated for the
application domain.
2. Component integration issues are considered.
3. Software architecture is designed to accommodate the components.
4. Components are integrated into the architecture.
5. Comprehensive testing is conducted to ensure proper functionality.
22. List out the problems associated in component based development.(can ask for
any specialized process models)
 Component trustworthiness - how can a component with no available
source code be trusted?
 Component certification - who will certify the quality of components?
 Requirements trade-offs - how do we do trade-off analysis between the
features of one component and another
23. Define unified process.
The Unified Process (UP) is an attempt to draw on the best features and
characteristics of conventional software process models, but characterize them in
a way that implements many of the best principles of agile software development.
24. Draw the phases in unified process.

25 What is task set?


A task set defines the actual work to be done to accomplish the objectives of a
software engineering action.
26 What are the two types of evolutionary models.
o Prototyping
o The Spiral Model
PART-B
1. Explain the Prescriptive Process Models(can ask any models)
2. Explain the Unified Process phases with a neat diagram
3. Explain the framework activities and umbrella activities in Generic Process
Model
4. Explain the Specialized Process Models(can ask any models)
5. Explain generic process model and the process flow with the neat diagram.
6. Explain the process pattern template with an example.
7. Illustrate the different approaches used for improvement and assessment of the
process
Unit-II
Part A
1. What is meant by stakeholders? Give examples.
Stakeholder are “anyone who benefits in a direct or indirect way from the system
which is being developed.”
eg: Customers, developers

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.

3. What are normal and expected requirements?


 Normal requirements - identify the objectives and goals that are stated for a
product or system during meetings with the customer.
 Expected requirements - are implicit to the product or system and may be so
fundamental that the customer does not explicitly state them.

4. Define primary and secondary actors in a use-case with an example.


Primary actors interact to achieve required system function and derive the intended
benefit from the system. They work directly and frequently with the software.
Secondary actors support the system so that primary actors can do their work.
Example: Customer is a primary actor in withdrawal of money from an ATM. Bank
can be considered as secondary actor.

5. State the various requirements models


The various requirements models are:
1. Scenario-based model
2. Behavioral models
3. Pattern-based models
4. Class-oriented models
5. Data models
6. Flow-oriented models

6. Mention the purpose of swimlane diagrams.


 A UML swimlane diagram represents the flow of actions and decisions and
indicates which actors perform each.
 Indicates which actor has responsibility for the action described by an activity
rectangle.

7. Give the problems encountered during elicitation.


 Problems of scope occur when the boundary of the system is ill-defined
 Problems of understanding are encountered when customers and users are
not completely sure of what is needed
 Problems of volatility occur when the requirements change over time.

8. Give the purpose of use cases in requirements engineering.


 A use case describes the system’s behavior under various conditions as the system
responds to a request from one of its stakeholders
 A use case tells a stylized story about how an end user interacts with the system

9. State the elements of activity diagram.


 Rounded rectangles to imply a specific system function
 Arrows to represent flow through the system
 Decision diamonds to depict a branching decision and
 Solid horizontal lines to indicate that parallel activities are occurring

10. What is state diagram? Give its use.


The state diagram is a method for representing the behavior of a system by depicting
its states and the events that cause the system to change state.
Use: The state diagram indicates what actions are taken as a consequence of a
particular event.

11. What are exceptions?


Exceptions identify the situations uncovered as the preliminary use case is refined.
Eg: In ‘Enter password’ scenario, there can be a case of invalid password, it is an
exception.

12. What are attributes and operations in a class?


Attributes are the set of data objects that fully define the class within the context of
the problem. eg: Name, Rollnumber are attributes of a class-Student
Operations define the behavior of an object.
eg: getMarks(), displayMarks() in Student class

13. What is CRC?


A CRC model is really a collection of standard index cards that represent classes. The
cards are divided into three sections.
 Along the top of the card you write the name of the class.
 In the body of the card you list the class responsibilities on the left and
 The collaborators on the right.

14. Define an association.


An association defines a relationship between classes.
Eg: Student can register for one or more courses and is shown by the association
given below:
Student 0..* 1..* Course

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)

16. What are Non-Functional Requirements?


A nonfunctional requirement (NFR) can be described as a quality attribute,
performance attribute, a security attribute, or a general constraint on a system.

17. Mention the use of traceability matrix.


Traceability matrix allows a requirements engineer to represent the
relationship between requirements and other software engineering work products.

18. Give the uses of patterns.


 Analysis patterns speed up the development of abstract analysis models
 Analysis patterns facilitate the transformation of the analysis model into a
design model

19. What are self-adaptive systems?


Self-adaptive systems can reconfigure themselves, augment their functionality,
protect themselves, recover from failure, and accomplish all of this while hiding most
of their internal complexity from their users.

20. List the limitations of use cases.


 A use case is only as good as its author(s).
 If the description is unclear, the use case can be misleading or ambiguous.
 A use case focuses on function and behavioral requirements and is generally
inappropriate for nonfunctional requirements

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

22. Define Multiplicity.


Multiplicity defines how many of one class are related to how many of another class.
It can be represented as 1..* for ‘one or more’ and 0..* for ‘zero or more’.
23. What are Collaborators?
Collaborators are those classes that are required to provide a class with the
information needed to complete a responsibility. In general, a collaboration implies
either a request for information or a request for some action.
Part B
1. Explain the tasks and techniques that lead to the understanding of requirements.
(Requirements Engineering Tasks – seven tasks)
2. What is SRS? Give the various contents of a SRS template.
(or) Develop a Software Requirement Specification for Library Management System.
3. Elaborate on the elicitation phase in requirements engineering.
4. Develop an usecase for Safe Home System. (or any application)
(Explain about usecase, primary actor, secondary actor, usecase template, usecase
diagram for the application.)
5. Construct the activity diagram, swimlane diagram, usecase diagram for ATM ( or
SafeHome System or any application)
6. Give the class diagram for SafeHome System with the colloborations, associations
and dependencies between classes. (Can be asked for any application)
7. Illustrate CRC modelling taking the example of SafeHome System. (or ATM or
Library Management System or any application).

*************
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.

You might also like