CS8494 - SE 2marks & 16 Marks PDF
CS8494 - SE 2marks & 16 Marks PDF
CS8494 - SE 2marks & 16 Marks PDF
TECHNOLOGY
TIRUCHENGODE-637 215
Syllabus
Questions & Answers
University Question Bank
Student Name :
Register Number :
Subject Code / Name : CS8494 – SOFTWARE ENGINEERING
Regulation : 2017
Sem / Year : IV / II
Degree / Branch : B.E CSE
Prepared By Approved By
1
CS8494 – SOFTWARE ENGINEERING LTPC
3003
OBJECTIVES:
The student should be made to:
To understand the phases in a software project
To understand fundamental concepts of requirements engineering and Analysis Modeling.
To understand the various software design methodologies
To learn various testing and maintenance measures
UNIT I SOFTWARE PROCESS AND AGILE DEVELOPMENT 9
Introduction to Software Engineering, Software Process, Perspective and Specialized Process Models –
Introduction to Agility-Agile process-Extreme programming-XP Process.
UNIT II REQUIREMENTS ANALYSIS AND SPECIFICATION 9
Software Requirements: Functional and Non-Functional, User requirements, System requirements, Software
Requirements Document – Requirement Engineering Process: Feasibility Studies, Requirements elicitation and
analysis, requirements validation, requirements management-Classical analysis: Structured system Analysis,
Petri Nets- Data Dictionary.
UNIT III SOFTWARE DESIGN 9
Design process – Design Concepts-Design Model– Design Heuristic – Architectural Design -Architectural
styles, Architectural Design, Architectural Mapping using Data Flow- User Interface Design: Interface analysis,
Interface Design –Component level Design: Designing Class based components, traditional Components.
UNIT IV TESTING AND MAINTENANCE 9
Software testing fundamentals-Internal and external views of Testing-white box testing - basis path testing-
control structure testing-black box testing- Regression Testing – Unit Testing – Integration Testing – Validation
Testing – System Testing And Debugging –Software Implementation Techniques: Coding practices-
Refactoring-Maintenance and Reengineering-BPR model-Reengineering process model-Reverse and Forward
Engineering.
UNIT V PROJECT MANAGEMENT 9
Software Project Management: Estimation – LOC, FP Based Estimation, Make/Buy Decision COCOMO I & II
Model – Project Scheduling – Scheduling, Earned Value Analysis Planning – Project Plan, Planning Process,
RFP Risk Management – Identification, Projection - Risk Management-Risk Identification-RMMM Plan-CASE
TOOLS TOTAL: 45
PERIODS
OUTCOMES:
Upon completion of the course, students will be able to:
Identify the key activities in managing a software project And Compare different process models.
Concepts of requirements engineering and Analysis Modeling.
Apply systematic procedure for software design and deployment.
Compare and contrast the various testing and maintenance.
Manage project schedule, estimate project cost and effort required.
TEXT BOOKS:
1. Roger S. Pressman, ―Software Engineering – A Practitioner‟s Approach‖, Seventh Edition, Mc Graw-
Hill International Edition, 2010.
2. Ian Sommerville, ―Software Engineering‖, 9th Edition, Pearson Education Asia, 2011.
REFERENCES:
1. Rajib Mall, ―Fundamentals of Software Engineering‖, Third Edition, PHI Learning PrivateLimited,
2009.
2. Pankaj Jalote, ―Software Engineering, A Precise Approach‖, Wiley India, 2010.
3. Kelkar S.A., ―Software Engineering‖, Prentice Hall of India Pvt Ltd, 2007.
4. Stephen R.Schach, ―Software Engineering‖, Tata McGraw-Hill Publishing Company Limited,2007.
5. http://nptel.ac.in/.
2
QUESTION BANKWITH ANSWERS
UNIT I SOFTWARE PROCESS AND AGILE DEVELOPMENT
1. What is software engineering?
Software engineering is a discipline in which theories, methods and tools are applied
to develop professional software.
2. What is Software?
Software is nothing but a collection of computer programs that are related documents
that are indented to provide desired features, functionalities and better performance.
System software
Application software
Engineering/Scientific software
Embedded software
Web Applications
Artificial Intelligence software
Specification
Design and implementation
Validation
Evolution
3
Work product preparation and production.
Reusability management.
Measurement.
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.
4
14. What is an effectors process?
The effectors process is a process that verifies itself. The effector process exists in
certain criteria.
Unit testing – The individual components are tested in this type of testing.
Module testing – Related collection of independent components are tested.
Sub-system testing – This is a kind of integration testing. Various modules are
integrated into a subsystem and the whole subsystem is tested.
System testing – The whole system is tested in this system.
Acceptance testing – This type of testing involves testing of the system with customer
data. If the system behaves as per customer need then it is accepted.
Incremental model
Spiral model
WIN-WIN spiral model
Concurrent Development
Source traceability – These are basically the links from requirement to stakeholders
who propose these requirements.
Requirements traceability – These are links between dependant requirements.
Design traceability – These are links from requirements to design.
5
Part -B
1. Explain iterative waterfall and spiral model for software life cycle and various
activities in each phase. (16)
Incremental model
Communication
Planning
Modelling
Construction
Deployment
Advantages and disadvantages
Process
Framework
Communication, Planning, Modelling, Construction, Deployment
Software project tracking and control
Software quality assurance
Technical reviews
Measurements
SCM, reusability management
Work product preparation and production
Waterfall model
Incremental model
Evolutionary process model
Concurrent model
Specialized models
Basics of COCOMO
Intermediate
6
6. Explain in detail about project scheduling & EVA? (16)
Basic principles
Relationship between people and effort
Effort distribution
Scheduling
Earned value analysis
7
UNIT II REQUIREMENTS ANALYSIS AND SPECIFICATION
23. Define software prototyping.
Software prototyping is defined as a rapid software development for validating the
requirements.
Correct – The SRS should be made up to date when appropriate requirements are
identified.
Unambiguous – When the requirements are correctly understood then only it is
possible to write unambiguous software.
Complete – To make SRS complete, it shold be specified what a software designer
wants to create software.
Consistent – It should be consistent with reference to the functionalities identified.
Specific – The requirements should be mentioned specifically.
8
Traceable – What is the need for mentioned requirement? This should be correctly
identified.
9
40. 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.
Data Dictionary
Entity Relationship Diagram
Data Flow Diagram
State Transition Diagram
Control Specification
Process specification
Part-B
1. Explain in detail about Functional and non functional requirements.
(16)
Requirement discovery
Interviewing
Scenarios
Use cases
Ethnography
10
4. Explain about requirement validation and management. (16)
Validation
Requirement management planning
Change management
Introduction
Petri nets
Case study
Data dictionary
11
UNIT III- SOFTWARE DESIGN
42. What are the elements of design model?
Data design
Architectural design
Interface design
Component-level design
Coincidentally cohesive –The modules in which the set I\of tasks are related with each
other loosely then such modules are called coincidentally cohesive.
Logically cohesive – A module that performs the tasks that are logically related with
each other is called logically cohesive.
Temporal cohesion – The module in which the tasks need to be executed in some
specific time span is called temporal cohesive.
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.
Communicational cohesion – When the processing elements of a module share the
data then such module is called communicational cohesive.
12
49. What are the various types of coupling?
Data object – The data objects are identified and relationship among various data
objects can be represented using ERD or data dictionaries.
Databases – Using software design model, the data models are translated into data
structures and data bases at the application level.
Data warehouses – At the business level useful information is identified from various
databases and the data warehouses are created.
13
56. Name the commonly used architectural styles.
Part-B
1. Explain in detail the design concepts. (16)
Abstraction
Architecture
Patterns
Modularity
Information hiding
Functional independence
Refactoring
14
3. Explain the User Interface Design. (16)
Golden rules
Interface analysis
Interface design steps
15
UNIT IV TESTING AND MAINTENANCE
61. Define software testing?
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design, and coding.
Component testing Individual components are tested. Tests are derived from
developer‟s experience.
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.
Test planning
Test case design
Test execution
Data collection
Effective evaluation
16
67. 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.
68. What are the reasons behind to perform white box testing?
There are three main reasons behind performing the white box testing.
The numbers of regions of the flow graph correspond to the cyclomatic complexity.
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
V(G)=P+1 Where P is the number of predicate nodes contained in the flow graph.
Unit testing
Integration testing.
Validation testing.
System testing.
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.
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.
77. 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.
18
78. Distinguish between alpha and beta testing.
Recovery testing – is intended to check the system‟ s ability to recover from failures.
Security testing – verifies that system protection mechanism prevent improper
penetration or data alteration.
Stress testing – Determines breakpoint of a system to establish maximum service
level.
Performance testing – evaluates the run time performance of the software, especially
real-time software.
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.
Quality plan – This plan describes the quality procedures and standards that will be
used in a project.
Validation plan – This plan describes the approach, resources and schedule required
for system validation.
Configuration management plan – This plan focuses on the configuration
management procedures and structures to be used.
Maintenance plan – The purpose of maintenance plan is to predict the maintenance
requirements of the system, maintenance cost and efforts required.
Staff development plan – This plan describes how to develop the skills and experience
of the project team members.
19
Part-B
1. Explain the types of software testing. (16)
2. Explain in detail about Black box testing and white box testing. (16)
White box testing
Static testing
Structural testing
o Condition testing, data flow testing, loop testing
Black box testing
Graph based
Equivalence portioning
Boundary value analysis
Comparison testing
Orthogonal array testing
Introduction
Strategies
Top down
Bottom up
Regression
Smoke and Comments and documentation
Recovery testing
Security testing
Stress testing
Performance testing
Refactoring
Steps
Benefits
20
UNIT V- PROJECT MANAGEMENT
83. Define measure.
Measure is defined as a quantitative indication of the extent, amount, dimension, or
size of some attribute of a product or process.
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 experience 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.
21
89. 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 overall prediction synthesized from experts.
92. What are the metrics computed during error tracking activity?
Software maintenance – The changes are made in the software due to requirements.
Architectural transformation – It is the process of changing one architecture into
another form.
Software re-engineering – New features can be added to existing system and then the
system is reconstructed for better use of it in future.
22
95. What is software maintenance?
Software maintenance is an activity in which program is modified after it has been put
into use.
Corrective maintenance – Means the maintenance for correcting the software faults.
Adaptive maintenance – Means maintenance for adapting the change in environment.
Perfective maintenance – Means modifying or enhancing the system to meet the new
requirements.
Preventive maintenance – Means changes made to improve future maintainability.
Code based testing tools – These tools take source code as input and generate test
cases.
Specialized testing tools – Using this language the detailed test specification can be
written for each test case.
Requirement-based testing tools – These tools help in designing the test cases as per
user requirements.
23
Part-B
1. Explain about software cost estimation. (16)
Planning
Risk management
Identification
Projection
RMMM
Basic principles
Relationship between people and effort
Effort distribution
Scheduling
Basic principles
Relationship between people and effort
Effort distribution
Scheduling
Earned value analysis
24
www.rejinpaul.com
www.rejinpaul.com