Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Software Engineering

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 22

TWO MARKS QUESTIONS & ANSWERS

UNIT I
1. Write the IEEE definition of software engineering. (DEC-17)
Software engineering is a discipline in which theories, methods and tools are applied to develop
professional software.

2. What is Software? List its Characteristics. (May-18)


Software is nothing but a collection of computer programs that are related documents that are
indented to provide desired features, functionalities and better performance.
Characteristics:
 Software is engineered, not manufactured.
 Software does not wear out.
 Most software is custom built rather than being assembled from components.

3. If you have to develop a word processing software product, what process model will you
choose? Justify your answer. (May-18)
The incremental model can be used for developing a word processing software product. This is
because the basic functionality of word editing can be developed and verified from the
customer in the initial increment. Then in subsequent increments the advanced editing features
can be added.

4. Compare prototyping approaches in a software process. (May-18)


There are two types of prototyping approaches in a software process
Evolutionary prototyping: In this approach of system development, the initial prototype is
prepared and it is then refined through number of stages to final stage.

Throw-away Prototyping: Using this approach a rough practical implementation of the system
is produced. The requirement problem can be identified from this implementation. It is then
discarded. System is then developed using some different engineering paradigm.

5. List two deficiencies in waterfall model. Which process model do you suggest to overcome
each deficiency? (May-17)
It is difficult to define all the requirement at the beginning of project, this model is not suitable
for accommodating any changes.
To overcome this deficiency: Prototyping model.
It does not scale up to large project
To overcome this deficiency: Spiral model.

6. What are the advantages of evolutionary prototyping?


 Fast delivery of the working system.
 User is involved while developing the system.
 More useful system can be delivered.
 Specification, design and implementation work in co-ordinate manner.

7. What are the various categories of software?


 System software
 Application software
 Engineering/Scientific software
 Embedded software
 Web Applications
 Artificial Intelligence software

8. What are the challenges in software?


 Copying with legacy systems.
 Heterogeneity challenge
 Delivery times challenge

9. Define software process.


Software process is defined as the structured set of activities that are required to develop the
software system.

10. What are the fundamental activities of a software process?


 Specification
 Design and implementation
 Validation
 Evolution

11. What are the umbrella activities of a software process?


 Software project tracking and control.
 Risk management.
 Software Quality Assurance.
 Formal Technical Reviews.
 Software Configuration Management.
 Work product preparation and production.
 Reusability management.
 Measurement.

12. What are the merits of incremental model?


 The incremental model can be adopted when there are less number of people involved in
the project.
 Technical risks can be managed with each increment.
 For a very small time span at least core product can be delivered to the customer.

13.List the task regions in the Spiral model.


 Customer communication – In this region it is suggested to establish customer
communication.
 Planning – All planning activities are carried out in order to define resources timeline and
other project related activities.
 Risk analysis – The tasks required to calculate technical and management risks.
 Engineering – In this the task region,tasks required to build one or more representations of
applications are carried out.
 Construct and release – All the necessary tasks required to construct, test, install the
applications are conducted.
 Customer evaluation – Customer’s feedback is obtained and based on the customer
evaluation required tasks are performed and implemented at installation stage.
14.What are the drawbacks of spiral model?
 It is based on customer communication. If the communication is not proper then the
software product that gets developed will not be the up to the mark.
 It demands considerable risk assessment. If the risk assessment is done properly then only
the successful product can be obtained.

15.What is System Engineering?


System Engineering means designing, implementing, deploying and operating systems which
include hardware, software and people.
16.List the process maturity levels in SEIs CMM.
Level 1:Initial – Few processes are defined and individual efforts are taken.
Level 2:Repeatable – To track cost schedule and functionality basic project management
processes are established.
Level 3:Defined – The process is standardized, documented and followed.
Level 4:Managed – Both the software process and product are quantitatively understood
and controlled using detailed measures.
Level 5:Optimizing – Establish mechanisms to plan and implement change.

17.What is the use of CMM?


Capability Maturity Model is used in assessing how well an organization’s processes allow to
complete and manage new software projects.

18.Name the Evolutionary process Models.


 Incremental model
 Spiral model
 WIN-WIN spiral model
 Concurrent Development

19. Define software prototyping.


Software prototyping is defined as a rapid software development for validating the
requirements.

20. What are the benefits of prototyping?


 Prototype serves as a basis for deriving system specification.
 Design quality can be improved.
 System can be maintained easily.
 Development efforts may get reduced.
 System usability can be improved.

21. What are the advantages of evolutionary prototyping?


 Fast delivery of the working system.
 User is involved while developing the system.
 More useful system can be delivered.
 Specification, design and implementation work in co-ordinated manner.
22. What are the various Rapid prototyping techniques?
 Dynamic high level language development.
 Database programming.
 Component and application assembly.

23. What are the new practices that are appended to XP to create IXP
 Readiness Assessment
 Project Community
 Project Chartering
 Test Driven Management
 Retrospectives
 Continuous Learning

24. What is spike solution in XP?


The spike solution is very simple program to explore potential solution. The spike solution is
build to only address the problem under examination and all other things can be overlooked.

25. What are the five values defined by beck that serve as a basis for the work performed in
XP?
 Communication
 Simplicity
 Feedback
 Courage
 Respect
UNIT II

1.What are the characteristics of SRS?


i. Correct – The SRS should be made up to date when appropriate requirements are
identified.
ii. Unambiguous – When the requirements are correctly understood then only it is possible to
write an unambiguous software.
iii.Complete – To make SRS complete, it should be specified what a software designer wants
to
create software.
iv. Consistent – It should be consistent with reference to the functionalities identified.

v. Specific – The requirements should be mentioned specifically.


vi. Traceable – What is the need for mentioned requirement? This should be correctly
identified.

2.Define Quality Function Development. Dec-17


Quality Function deployment is a quality management technique which translates the customer
needs and wants into technical requirements.

3.What are the various types of traceability in software Engineering? May-17


Various types of traceability in software Engineering are
 Source Traceability
 Requirement Traceability
 Design Traceability

4.Differentiate between normal and exciting requirements.


Normal Requirements: The requirements as per goals and objectives of the system are called
normal requirements. For eg. Handling mouse and keyboard events for any GUI based system.
Exciting Requirements: When certain requirements are satisfied by the software beyond
customer’s expectation then such requirements are called exciting requirement. For eg. In word
processing software system, if there are some exceptional page layout facilities then it falls in
exciting requirements category.

5.What is the purpose of petrinets?


Petrinets are rigorously used to define the system. There are 3 types of components in
petrinets. There are
Places
Transition
Arc.

6.What are the linkage between data flow and ER diagram?


Both the data flow diagram and ER diagram are system modeling techniques used during
structured system analysis.
The ER diagram is used to represent the data model while data flow diagrams are used to
represent the functional model.

7.What are the objectives of Analysis modeling?


i. To describe what the customer requires.
ii. To establish a basis for the creation of software design.
iii. To devise a set of valid requirements after which the software can be built.

8.What is data modeling?


Data modeling is the basic step in the analysis modeling. In data modeling the data
objects are examined independently of processing. The data model represents how data are
related with one another.

9.What is a data object?


Data object is a collection of attributes that act as an aspect, characteristic, quality, or
descriptor of the object.

10. What are attributes?


Attributes are the one, which defines the properties of data object.

11. What is ERD?


Entity Relationship Diagram is the graphical representation of the object relationship pair. It
is mainly used in database applications.

12. What is DFD?


Data Flow Diagram depicts the information flow and the transforms that are applied on the
data as it moves from input to output.
13. What does Level0 DFD represent?
Level0 DFD is called as „fundamental system model‟ or „context model‟. In the context
model the entire software system is represented by a single bubble with input and output indicated
by incoming and outgoing arrows.

14. What is a state transition diagram?


State transition diagram is basically a collection of states and events. The events cause the
system to change its state. It also represents what actions are to be taken on the occurrence of
particular event.

15. Define Data Dictionary.


The data dictionary can be defined as an organized collection of all the data elements of
the system with precise and rigorous definitions so that user and system analyst will have a
common understanding of inputs, outputs, components of stores and intermediate calculations.

16. What is the major distinction between user requirements and system requirement?
The user requirements describe both the functional and non functional requirements in such a
way that they are understandable by the user who do not have detailed technical knowledge. On
the other hand the system requirements are more detailed specification of system functions,
services and constraints than user requirements.
The user requirements are specified using natural language whereas system model expressed in
system models.

17. Give Two Examples of non functional requirements.


Consider the library management system or which the two non functional requirements can be-
 The user who wishes to read the article on-line must be authenticated first
 The article must be displayed within in 5 seconds.

18. What do requirement process involve?


The requirement process involves
 Elicitation
 Analysis
 Validation
19. List the good characteristics of good SRS.
 SRS must be correct
 SRS must be unambiguous
 SRS must be complete
 SRS must be consistent
 SRS must be traceable

20. What are the elements of Analysis model?


i. Data Dictionary
ii. Entity Relationship Diagram
iii. Data Flow Diagram
iv. State Transition Diagram
v. Control Specification
vi. Process specification
UNIT III

1. What are the elements of design model?


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

2. List out Design methods.


The Design methods are
 Object Oriented Design
 Function Oriented Design

3. Define design process.


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

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

5. Define Modularity.
The modularity is an approach used during the designing of the software system. I this
approach, the software is divided into separately named and addressable components called
modules. Due to modularity, the program becomes manageable.

6. What is the benefit of modular design?


Changes made during testing and maintenance becomes manageable and they do not
affect other modules.
7. 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.

8. 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 then such modules are called coincidentally cohesive.
ii. Logically cohesive – A module that performs the tasks that are logically related with
each other is called logically cohesive.
iii.Temporal cohesion – The module in which the tasks need to be executed in some
specific time span is called temporal cohesive.

iv. Procedural cohesion – When processing elements of a module are related with one

another and must be executed in some specific order then such module is called procedural

cohesive.

v.Communicational cohesion – When the processing elements of a module share the


data then such module is called communicational cohesive.

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

10. Write a note on FURPS model of design quality. (Dec-17)


FURPS stands for Functionality, Usability, Reliability, performance and supportability. These
are the quality attributes used to measure design quality.

11. What is the need for architectural mapping using data flow? (May-16)
Transform mapping and transaction mapping is used for architectural mapping using data flow
diagrams.

12. How can refactoring be made more effective? (May-16)


After careful analysis of design separate out the components that can be refactored. The
refactor them and finally integrate and test them.
13. What UI design patterns are used for the following? (May-17, 18)
a) Page layout b) Tables c) Navigation through menus and web pages
d) Shopping cart
Page layout- card stack
Tables- Sorted Tables
Navigation through menus and web pages- Edit in place
Shopping cart- Shopping card which provide list of items selected for purchase.

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

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

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

17. What is vertical partitioning?


Vertical partitioning often called factoring suggests that the control and work should be
distributed top-down in program structure.
18. What are the advantages of vertical partitioning?
i. These are easy to maintain changes.
ii. They reduce the change impact and error propagation.

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

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

21. Name the commonly used architectural styles.


i. Data centered architecture.
ii. Data flow architecture.
iii. Call and return architecture.
iv. Object-oriented architecture.
v. Layered architecture.

22. What is Transform mapping?


The transform mapping is a set of design steps applied on the DFD in order to map the
transformed flow characteristics into specific architectural style.

23. What is a Real time system?


Real time system is a software system in which the correct functionalities of the system are
dependent upon results produced by the system and the time at which these results are
produced.
UNIT IV

1. Define software testing?


Software testing is a critical element of software quality assurance and represents the ultimate
review of specification, design, and coding.

2. What are the objectives of testing?


i. Testing is a process of executing a program with the intend of finding an error.
ii. A good test case is one that has high probability of finding an undiscovered error.
iii. A successful test is one that uncovers as an-yet undiscovered error.

3. What are the testing principles the software engineer must apply while performing the
software testing? (May-18)
i. All tests should be traceable to customer requirements.
ii. Tests should be planned long before testing begins.
iii. The pareto principle can be applied to software testing-80% of all errors uncovered during
testing will likely be traceable to 20% of all program modules.
iv. Testing should begin “in the small” and progress toward testing “in the large”.
v. Exhaustive testing is not possible.
vi. To be most effective, an independent third party should conduct testing.

4. What are the two levels of testing?

i. Component testing Individual components are tested. Tests are derived from developer‟s
experience.
ii. System Testing The group of components are integrated to create a system or sub- system
is done. These tests are based on the system specification.

5. What are the various testing activities?


i. Test planning
ii. Test case design
iii. Test execution
iv. Data collection
v. Effective evaluation
6. Write short note on black box testing.
The black box testing is also called as behavioral testing. This method fully focuses on the
functional requirements of the software. Tests are derived that fully exercise all
functional requirements.

7. What is equivalence partitioning?


Equivalence partitioning is a black box technique that divides the input domain into classes
of data. From this data test cases can be derived. Equivalence class represents a set of valid or
invalid states for input conditions.

8. What is a boundary value analysis?


A boundary value analysis is a testing technique in which the elements at the edge of the
domain are selected and tested. It is a test case design technique that complements
equivalence partitioning technique. Here instead of focusing on input conditions only, the
test cases are derived from the output domain.

9. What are the reasons behind to perform white box testing?


There are three main reasons behind performing the white box testing.
1. Programmers may have some incorrect assumptions while designing or implementing
some functions.Due to this there are chances of having logical errors in the program.To
detect and correct such logical errors procedural details need to be examined.
2. Certain assumptions on flow of control and data may lead programmer to make design
errors.To uncover the errors on logical path,white box testing is must.
3. There may be certain typographical errors that remain undetected even after syntax and
type
checking mechanisms.Such errors can be uncovered during white box testing.

10. What is cyclomatic complexity? (May-14)


Cyclomatic complexity is a software metric that gives the quantitative measure of
logical complexity of the program. The Cyclomatic complexity defines the number
of independent paths in the basis set of the program that provides the upper bound for
the number of tests that must be conducted to ensure that all the statements have been executed
at least once.
11. How to compute the cyclomatic complexity?

The cyclomatic complexity can be computed by any one of the following ways.
1. The numbers of regions of the flow graph correspond to the cyclomatic complexity.
2. Cyclomatic complexity,V(G),for the flow graph,G,is defined as: V(G)=E-N+2,
E -- number of flow graph edges, N -- number of flow graph nodes
3. V(G)=P+1 Where P is the number of predicate nodes contained in the flow graph.

12. Distinguish between verification and validation.


Verification refers to the set of activities that ensure that software correctly implements a
specific function.
Validation refers to a different set of activities that ensure that the software that has been built
is traceable to the customer requirements.
According to Boehm,
 Verification:” Are we building the product right?”
 Validation:” Are we building the right product?”

13. What are the various testing strategies for conventional software? (May-06)
i. Unit testing ii. Integration testing.
iii. Validation testing. iv. System testing.

14. Write about drivers and stubs. (Dec -17)


Drivers and stub software need to be developed to test incompatible software.
 The “ driver” is a program that accepts the test data and prints the relevant results.
 The “ stub” is a subprogram that uses the module interfaces and performs the minimal data
manipulation if required.

15. What are the approaches of integration testing?


The integration testing can be carried out using two approaches.
1. The non-incremental testing.
2. Incremental testing.

16. What are the advantages and disadvantages of big-bang? Advantages:


 This approach is simple.
Disadvantages:
 It is hard to debug.
 It is not easy to isolate errors while testing.
 In this approach it is not easy to validate test results.
 After performing testing, it is impossible to form an integrated system.

17. What are the benefits of smoke testing?


 Integration risk is minimized.
 The quality of the end-product is improved.
 Error diagnosis and correction are simplified.
 Assessment of program is easy.

18. What are the conditions exists after performing validation testing?
After performing the validation testing there exists two conditions.

 The function or performance characteristics are according to the specifications and are
accepted.
 The requirement specifications are derived and the deficiency list is created. The
deficiencies then can be resolved by establishing the proper communication with the
customer.

19. Distinguish between alpha and beta testing.


 Alpha and beta testing are the types of acceptance testing.
 Alpha test: The alpha testing is attesting in which the version of complete software is
tested by the customer under the supervision of developer. This testing is performed at
developer‟s site.
 Beta test: The beta testing is a testing in which the version of the software is tested by the
customer without the developer being present. This testing is performed at customer‟s
site.

20. What are the various types of system testing?


1. Recovery testing – is intended to check the system‟ s ability to recover from failures.
2. Security testing – verifies that system protection mechanism prevent improper
penetration or data alteration.
3. Stress testing – Determines breakpoint of a system to establish maximum service level.
4. Performance testing – evaluates the run time performance of the software, especially
real-time software.

21. What is smoke Testing? (May- 17)


The smoke testing is a kind of integration testing technique used for time critical project where in
the project need to be assessed on frequent basis.

22. Define debugging.


Debugging is defined as the process of removal of defect. It occurs as a consequence of
successful testing.

23. Identify the type of maintenance for each of the following:


a) Correcting the software faults
b) Adapting the change in environment.
 Corrective maintenance
 Adaptive maintenance

24. What is the need of Regression testing? (May-15)


Regression testing is required to test the defects that get propogated from one module to
another when changes are made to existing program. Thus regression testing is used to reduce
the side effects of changes

25. What are the common approaches in debugging?


 Brute force method: The memory dumps and run-time tracks are examined and
program with write statements is loaded to obtain clues to error causes.
 Back tracking method: The source code is examined by looking backwards from
symptom to potential causes of errors.
 Cause elimination method: This method uses binary partitioning to reduce the number
of locations where errors can exists.
UNIT V
1. Define measure.

Measure is defined as a quantitative indication of the extent, amount, dimension, or size of


some attribute of a product or process.
2. Define metrics.
Metrics is defined as the degree to which a system component, or process possesses a given
attribute.
3. What are the types of metrics?
 Direct metrics – It refers to immediately measurable attributes. Example – Lines of code,
execution speed.
 Indirect metrics – It refers to the aspects that are not immediately quantifiable or measurable.
Example – functionality of a program.
4. What are the advantages and disadvantages of size measure? Advantages:
 Artifact of software development which is easily counted.
 Many existing methods use LOC as a key input.
 A large body of literature and data based on LOC already exists.
Disadvantages:
 This method is dependent upon the programming language.
 This method is well designed but shorter program may get suffered.
 It does not accommodate non procedural languages.
 In early stage of development it is difficult to estimate LOC.

5. Write short note on the various estimation techniques.


 Algorithmic cost modeling – the cost estimation is based on the size of the software.
 Expert judgement – The experts from software development and the application domain
use their exoerience to predict software costs.
 Estimation by analogy – The cost of a project is computed by comparing the project to a
similar project in the same application domain and then cost can be computed.
 Parkinson’s law – The cost is determined by available resources rather than by
objective assessment.
 Pricing to win – The project costs whatever the customer ready to spend it.
6. What is COCOMO model?
COnstructive COst MOdel is a cost model, which gives the estimate of number of man-
months it will take to develop the software product.
7. Give the procedure of the Delphi method.
1. The co-ordinator presents a specification and estimation form to each expert.
2. Co-ordinator calls a group meeting in which the experts discuss estimation issues with the
coordinator and each other.
3. Experts fill out forms anonymously.
4. Co-ordinator prepares and distributes a summary of the estimates.
5. The Co-ordinator then calls a group meeting.In this meeting the experts mainly discuss the
points where their estimates vary widely.

6. The experts again fill out forms anonymously.


7. Again co-ordinator edits and summarizes the forms,repeating steps
5 and 6 until the co-ordinator is satisfied with the overallprediction synthesized from experts.

8. What is the purpose of timeline chart?


The purpose of the timeline chart is to emphasize the scope of the individual task. Hence set of
tasks are given as input to the timeline chart.

9. What is EVA? (May-18)


Earned Value Analysis is a technique of performing quantitative analysis of the software
Project.It provides a common value scale for every task of software project.It acts as a measure for
software project progress.

10. What are the metrics computed during error tracking activity?
 Errors per requirement specification page.
 Errors per component-design level
 Errors per component-code level
 DRE-requirement analysis
 DRE-architectural analysis
 DRE-component level design
 DRE-coding.

11. Why software change occurs?


Software change occurs because of the following reasons. ¾_New requirements emerge when
the software is used. ¾_The business environment changes. ¾_Errors need to be repaired. ¾_New
equipment must be accommodated. ¾_The performance or reliability may have to be improved.

12. Write about software change strategies.


The software change strategies that could be applied separately or together are:
a. Software maintenance – The changes are made in the software due to
requirements.
b. Architectural transformation – It is the process of changing one architecture into
another form.
c. Software re-engineering – New features can be added to existing system and then
the system is reconstructed for better use of it in future.

13. What is software maintenance?


Software maintenance is an activity in which program is modified after it has been put into
use.

14. Define maintenance.

Maintenance is defined as the process in which changes are implemented by either modifying

the existing system‟ s architecture or by adding new components to the system.

15. What is Risk Management? (Dec-16)


Risk management refers to the process of making decision based on an evaluation of factors
that treats to be business.
Various activities that are carried out for risk managements are
 Risk identification
 Risk Projection
 Risk Refinement
 Risk mitigation, monitoring and management.

16. List out the principles of Project Scheduling. (Dec-17)


 Compartmentalize
 Interdependency
 Time allocation
 Effort Validation
 Defined Responsibilities.
17. What are the different types of productivity estimation measures? (May-17)
 LOC based Estimation
 Function based estimation

18. What is architectural evolution?


Architectural evolution is the process of changing a system from a centralized architecture to a
distributed architecture like client server.

You might also like