E.G.S. PILLAY ENGINEERING COLLEGE Rev.0 Nagore …coe.egspec.org/ct12017/pdf/1702CA203.pdf ·...
Transcript of E.G.S. PILLAY ENGINEERING COLLEGE Rev.0 Nagore …coe.egspec.org/ct12017/pdf/1702CA203.pdf ·...
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
1702CA203 SOFTWARE ENGINEERING METHODOLOGIES
Academic Year : 2017-2018 Question Bank
Programme : MCA
Year / Semester : I / II Course Coordinator : Mrs.S.Visalatchy
Course Objectives Course Outcomes: 1. To provide an insight into the processes of software
development.
2. To understand and practice the various fields such as
analysis, design, development, testing of Software
Engineering.
3. To develop skills to construct software of high quality
with high reliability.
4. To apply metrics and testing techniques to evaluate the
software.
On completion of the course, students will be able to
CO1: Familiarize the basic concepts of Software
Engineering and various models.
CO2: Model software projects into high level design
using DFD,UML diagrams.
CO3: Perform software testing on various applications.
CO4: Apply various software metrics on software
quality products.
PART – A ( 2 Mark Questions With Key)
S.No Questions Mark COs BTL
UNIT I – INTRODUCTION
1 Define software engineering paradigm. 2 1 K1
To solve actual problems in an industry, a software engineer or a team of engineers must
combine a development strategy that includes the process, methods and tools. This strategy is
referred as software engineering paradigm or process model
1.5
There exist various software development strategies or process models. 0.5
2 Give the difference between “known risks” and “predictable risks”. 2 1 K1
Known Risks:
That can be not covered after careful computation of the project plan, business and technical
environment in which the product is being build up.
Illustration: Impractical delivery rate.
1
Predictable Risks:
Extrapolated from the past project experience.
Illustration: Staff turn-over.
1
3 Define software prototyping. 2 1 K1
Software prototyping is defined as a rapid software development for validating the requirements.
4 What are the disadvantages of linear sequential model? 2 1 K1
Once an application is in the testing stage, it is very difficult to go back and change
something that was not well-thought out in the concept stage.
High amounts of risk and uncertainty.
1
Not a good model for complex and object-oriented projects.
Poor model for long and ongoing projects.
1
5 What is the difference between systems engineering and software engineering? 2 1 K1
System engineering
It deals with all aspects of computer-based system development.
It is to identify the roles of hardware, software, people, database and other system elements
involved with that system which is going to be developed.
1
Software engineering
It is a part of system engineering.
It is to tell the practicalities of developing and delivering useful software.
1
6 Write the approaches for Software process assessment. 2 1 K1
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
Obtaining guidance for improving software development and test processes
Obtaining an independent and unbiased review of the process
Obtaining a baseline (defined as a set of software components and documents that have been
formerly reviewed and accepted; that serves as the basis for further development) for
improving quality and productivity of processes.
7 What are the benefits of prototyping? 2 1 K1
1. Prototyping serves as a basis for deriving system specification.
2. Design quality can be improved.
3. System can be maintained easily.
4. Development efforts may get reduced.
5. System usability can be improved.
8 What are the various rapid prototyping techniques? 2 1 K1
1. Dynamic high level language development.
2. Database programming.
3. Component and application assembly.
9
What is Software Engineering? 2 1 K1
The application of a systematic, disciplined, quantifiable approach to the development,
operation, and maintenance of software; that is, the application of engineering to software.
10 How does Personal Software Process(PSP) differ from Team Software Process(TSP)? 2 1 K2
The Personal Software Process (PSP) is an SEI technology that brings discipline to the practices
of individual software engineers, dramatically improving product quality, increasing cost and
schedule predictability, and reducing development cycle time for software.
1
The Team Software Process (TSP) is a complementary SEI technology that enables teams to
develop software-intensive products more effectively. TSP shows a team of engineers how to
produce quality products for planned costs and on aggressive schedules.
1
11 What is a process Framework? 2 1 K1
Establishes foundation for a complete software process. 1
By identifying a small number of framework activities that are applicable for all software
projects regardless of their size and complexity.
1
12 What are the Generic Framework Activities? 2 1 K1
Communication.
Planning.
Modeling.
Construction.
Deployment.
13
Define Stakeholder. 2 1 K1
Anyone who has stake in successful outcome of project. Business managers, end users, software
engineer, support people.
14 How the process models differ from one another? 2 1 K1
Based on flow of activities.
Inter dependencies between activities.
Manner of quality assurance.
Manner of project tracking.
Team organization and roles.
Work products identify an requirement identifier
15 What are the drawbacks of RAD model? 2 1 K1
Require sufficient number of human resources to create enough number of teams.
Developers and customers are not committed, system result in failure.
1
Not properly modularized building component may problematic.
Not applicable when there is more possibility for technical risk.
1
UNIT II – REQUIREMENT ANALYSIS
1 Define Metrics for software. 2 1 K1
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
A software metric is a measure of software characteristics which are quantifiable or countable.
Software metrics are important for many reasons, including measuring software performance,
planning work items, measuring productivity, and many other uses.
2 Mention the different types of software metrics. 2 1 K1
1. Productivity Metrics.
2. Quality Metrics.
3. Technical Metrics.
4. Size-Oriented Metrics.
5. Function oriented Metrics.
6. Human-oriented Metrics.
3 What is the difference between verification and validation? 2 1 K2
Verification Validation
1. Are we building the product right? 1. Are we building the right product? 1
2. Verification shows conformance with
specification.
2. Validation shows that the program meets the
customer’s needs.
1
4 List the common errors in verification process. 2 1 K1
Incomplete specifications
Misunderstand of customer communication
Deviation from specifications
Violation of programming standards
Errors in data representation
5 List out the elements of analysis model. 2 1 K1
i. Data Dictionary
ii. Entity Relationship Diagram
iii. Data Flow Diagram
iv. State Transition Diagram
v. Control Specification
vi. Process specification
6 What are the information’s available in the data dictionary? 2 1 K1
Precise definition of data elements, User names, roles and privileges, Schema objects, Integrity
constraints, stored procedure, General data base structure, Space allocations.
7 Why it is difficult to gain a clear understanding of what the customer wants? 2 1 K2
Customer requirement is gathered at particular period of time. So the customer is not able to
predict the future which they are going to work. So it is difficult to gain a clear understand about
what they wants.
8 What are the five distinct steps in requirement engineering? 2 1 K1
Requirement inception
Requirement elicitation
Requirement elaboration
Requirement analysis and negotiation
Requirement specification
9 What are the non functional requirements for software? 2 1 K2
The non functional requirements define system properties and constraints. Various properties of
the system can be Reliability, response time, storage requirements. Constraints of the system can
be Input and output device capability, system representations.
10 What is CSPEC? 2 1 K2
A control specification (CSPEC) represents the behaviour of the system (at the level from which
it has been referenced) in two different ways.
The CSPEC contains a state diagram that is a sequential specification of behaviour.
It can also contain a program activation table—a combinatorial specification of behaviour.
11 Define requirement engineering process. 2 1 K1
Requirement engineering is the process of establishing the services that the customer requires
from the system and the constraints under which it operates and is developed.
12 What is Class Based Modelling? 2 1 K2
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
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.
13 List out the basic principles of software project scheduling? 2 1 K1
Compartmentalization.
Interdependency.
Time Allocation.
Effort Validation.
Defined Responsibilities.
Defined Outcomes.
Defined Milestones.
14 What are the elements for requirement model? 2 1 K1
Scenario-based elements.
Data models
Class-based elements.
Behavioural elements
Flow-oriented elements.
15 What is Domain Analysis? 2 1 K2
Software domain analysis is the identification, analysis, and specification of common
requirements from a specific application domain, typically for reuse on multiple projects within
that application domain
UNIT III – SOFTWARE DESIGN
1 List of principles of a software design. 2 2 K2
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.
2 What are the characteristics of a good design? 2 2 K2
Understanding
Meaning
Value
Engagement
Fit
Emotion
3 Define Abstraction. 2 2 K1
Abstraction is a process of consolidating on entire set of detailed attributed by using a few
central traits or even a single name to represent them. It is a tool that allows us to deal with
concepts apart from particular instances or those concepts.
4 List out the types of Abstraction? 2 2 K1
a. Function al abstraction.
b. Data abstraction.
c. Control abstraction.
5 Define Modularity. 2 2 K1
Module is a small functional routine.
It can stand on itself or it can be coupled with other application also.
Modular systems incorporate collections of abstraction.
A modular system consists of well-defined manageable units with well-defined interface
among units.
6 How the architecture design can be represented? 2 2 K2
Architecture design can be represented by one or more different models. They are:
a. Structural Models.
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
b. Framework Models.
c. Dynamic Models.
d. Process Models.
7 What is cohesion? 2 2 K2
Indication of relative functional strength of a module.
Natural extension of information hiding.
Performs a single task, requiring little integration with other components.
8 What are the different types of coupling? 2 2 K2
a. Content Coupling.
b. Common Coupling.
c. Control Coupling.
d. Stamp Coupling.
e. Data Coupling.
f. Routine Call Coupling.
g. Type Use Coupling.
h. Inclusion or Import Coupling.
i. External Coupling.
9 What is the various design notations are there? 2 2 K2
1. Dataflow diagram.
2. Structure charts.
3. HIPO diagram.
4. Pseudo code.
10 What are use-cases? 2 2 K2
A use case in software engineering is a description of a system’s behavior as it responds to a
request that originates from outside of that system. In other words, a use case describes ―who‖
can do ―what‖ with the system in question. The use case technique is used to capture a system’s
behavioral requirements by detailing scenario-driven threads through the functional requirements
11 What are the different types of Cohesion? 2 2 K1
*Coincidentally cohesive
* logically cohesive
*Temporal cohesion
* Procedural Cohesion
* Communicational cohesion
12 Define real time system. 2 2 K1
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.
13 What are the characteristics of distributed system design? 2 2 K2
Fault-Tolerant: It can recover from component failures without performing incorrect
actions.
Highly Available: It can restore operations, permitting it to resume providing services even
when some components have failed.
Recoverable: Failed components can restart themselves and rejoin the system, after the
cause of failure has been repaired.
Consistent: The system can coordinate actions by multiple components often in the
presence of concurrency and failure.
Scalable: It can operate correctly even as some aspect of the system is scaled to a larger
size.
Predictable Performance: The ability to provide desired responsiveness in a timely
manner.
Secure: The system authenticates access to data and services.
14 What is the importance of Documentation? 2 2 K2
Documentation is an important part of Software Engineering. It is a viable part of Software
Development process and without it, it is hard to maintain any project and the developers have to
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
re-invent the wheel
15 What are the major issues of designing reuse? 2 2 K2
The design reuse process has four major issues:
1. Retrieve
2. Reuse
3. Repair
4. Recover
UNIT IV – SOFTWARE TESTING
1 Define software Testing. 2 3 K1
Testing can be described as a process used for revealing defects in software, and for establishing
that the software has attained a specified degree of quality with respect to selected attributes.
2 What are the principles of testing the software engineer must apply while performing the
software testing?
2 3 K2
All tests should be traceable to customer requirements.
Tests should be planned long before testing begins.
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.
Testing should begin ―in the small‖ and progress toward testing ―in the large‖.
Exhaustive testing is not possible.
To be most effective, an independent third party should conduct testing.
3 Distinguish black box and white box testing. 2 3 K2
Black Box Testing White Box Testing
1. Black box testing is called behavioural
testing
2.It examines a system functionality with
testcase input and output.
1. white box testing is called glass box testing
2. Here the procedural details, all the logical paths,
all the internal data structures are closely
examined.
4 What is meant by cyclomatic complexity? 2 3 K1
Cyclomatic complexity is a software metric that gives the quantitative measure of logical
complexity of the program
V(G)=E-N+2
E-Number of flow graph edges
N-Number of flow graph nodes
5 Differentiate between testing and debugging. 2 3 K2
Testing Debugging
Testing as a dual purpose
process
Reveal defects
And to evaluate quality attributes
Debugging or fault localization is the process of
Locating the fault or defect
Repairing the code, and
Retesting the code.
6 List out the characteristics of testability of software? 2 3 K1
Operability.
Controllability.
Decomposability.
Simplicity.
Stability.
Understand ability.
7 What problems may be encountered when Top-Down Integration is chosen? 2 3 K2
Delays are test until stubs replace with actual modules.
Develop stubs that perform limited functions that simulate the actual module.
Integrate the software from the bottom of the hierarchy upward.
8 What are the steps in bottom-up integration? 2 3 K2
Low level components are combined into clusters perform specific software sub function.
Driver is written to coordinate test case input and output.
Cluster is tested.
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
Drivers are removed and clusters are combined moving inward in program structure.
9 What is the objective of unit testing? 2 3 K2
The objective of unit testing is to test the modules individually in order to detect the defect.
10 What are the steps involved in testing real time system? 2 3 K2
*Task testing
* Behavioural Testing
*Inter task Testing
*System Testing
11 What is the use of drivers and stubs in testing? 2 3 K2
A driver is a main program that accepts test case data, passes such data to the component and
print relevant results.
A stub or dummy subprogram uses the subordinate module’s interface, may do the minimal data
manipulation, prints verification of entry and returns control to the module undergoing testing.
12 What are the errors uncovered by black box testing? 2 3 K2
Incorrect or missing functions
Interface errors
Errors in data structures
Performance errors
Initialization or termination error
13 Why tests are important with respect to software? 2 3 K2
The purpose of software testing is to ensure whether the software functions appear to be working
according to specifications and performance requirements. This helps in improving the overall
quality of the software.
14 What are the attributes of good test? 2 3 K2
a. High probability of finding errors.
b. Not redundant.
c. Best of breed‖
d. Neither too simple nor too complex.
15 What are the limitations of testing? 2 3 K2
In traceability
Undesirability
UNIT V – SOFTWARE MAINTENANCE AND SOFTWARE METRICS
1 What are the types of maintenance? 2 4 K2
Corrective maintenance: maintenance for correcting the software faults
Adaptive maintenance: maintenance for adapting the change in environment.
Enhancement maintenance: modifying or enhancing the system to meet the new
requirements
Preventive maintenance: changes made to improve future maintainability.
2 What is software configuration management? 2 4 K2
The software configuration management is a mechanism for
Identifying.
Controlling.
Tracking.
3 What are the components of the cost of quality? 2 4 K2
Quality costs.
Prevention costs.
Appraisal costs.
4 What is software quality control? 1 4 K2
Involves series of inspections reviews and tests.
Used throughout software process to ensure each work product meets requirements placed
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
upon it.
5 What are baseline criteria in SCM? 1 4 K2
a) Help to control change.
b) Specification or product that has been formally.
c) Reviewed and agreed upon serves as basis for future development.
d) That can be change only through formal change control procedures.
6 List out the elements of SCM? 2 4 K1
Component elements.
Process elements.
Construction elements.
Human elements.
7 What are the features supported by SCM? 2 4 K2
Versioning.
Dependency tracking and change management.
Requirements tracking.
Configuration Management.
Audit trails.
8 What are the objectives of SCM process? 2 4 K2
Identify all items, collectively define software configuration.
Manage changes to one or more these items.
Facilitate construction of different version of an application.
Ensure that the software quality is maintained.
9 What do you understand by direct measure and indirect measure with respect to software? 2 4 K2
Direct measures of the software engineering process include cost and effort applied. Direct
measures of the product include lines of code (LOC) produced, execution speed, memory size,
and defects reported over some set period of time.
Indirect measures of the product include functionality, quality, complexity, efficiency,
reliability, maintainability, and many other "–abilities".
10 List out few product and process metrics. 2 4 K1
Process metrics: Lines of code or function points per module and function, defect reported
for major software function, errors found during formal technical review.
Product metrics: Metrics for testing , maintenance ,quality
11 Define CASE Tools. 2 4 K1
It is system software.
Provide automated support for software process activities.
Includes program used to support software process activities such as requirement analysis,
system modelling, debugging and testing.
12 What are the types of CASE Tools? 2 4 K1
Types of CASE Tools.
1. Upper CASE Tools.
2. Lower CASE Tools.
13 What is meant by metrics and measurement? 2 4 K1
Metrics is the degree to which a system component or processes possesses a given attribute. The
software metrics relate several measures.
Eg: average no. of errors found per review.
Measurement means deriving a numeric value for an attribute of a software product or process.
14 What are the building blocks of CASE? 2 4 K2
CASE has the following components, Environment architecture, Hardware platform, Operating
system, Portability services, Integration frame work, and CASE tools
15 Define software reliability. 2 4 K1
Software reliability is defined in statistical terms as "the probability of failure-free operation of a
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
computer program in a specified environment for a specified time"
PART – B (12 Mark Questions with Key)
S.No Questions Mark COs BTL
UNIT I – INTRODUCTION
1 Explain linear life cycle model in detail. Give the advantages and disadvantages of the same 12 1 K2
Diagram for Waterfall model
The model encompasses the following activities:
1. System/information engineering and modelling
2. Software requirement analysis
3. Design
4. Code generation
5. Testing
6. Support
Advantages and disadvantages
4
5
3
2 Explain in detail the spiral model with a neat sketch and discuss its merits and demerits. 12 1 K2
It is an evolutionary software process model.
Combines the elements of the linear sequential model with
iterative nature of prototyping
Used for the development of large scale systems and software.
Spiral model diagram
The task regions are:
Customer communication
Planning
Risk analysis.
Engineering.
Construction and release.
Customer evaluation.
4
8
3 Explain the various prototyping approaches or prototyping models in detail. 12 1 K2
i. Evolutionary Prototyping
Objective is to deliver a working system to end user
Start with the user requirements which are best understood.
Diagram for Evolutionary prototyping.
Advantages
Accelerated delivery of the system
User engagement with the system
Problems
Management problems
Maintenance problems
Contractual problems
ii. Throw-away Prototyping
Objective is to validate or derive the system requirements.
Diagram for Throw away prototyping
Start with those requirements that are not well understood.
Advantages
Requirements risks are very less.
Problems
It can be undocumented.
Changes made during the software development proceed may degrade the system
structure.
Sometimes organizational quality standard may not be strictly applied.
4
2
2
2
2
4 Discuss in detail the RAD model with a neat sketch and discuss its advantages and
disadvantages.
12 1 K2
Rapid Application Development Model is the type of incremental
Model. Diagram
2
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
Phases include
1. Business modelling
2. Data modelling
3. Process modelling
4. Application generation.
5. Testing and turnover.
2
2
2
2
2
5 Write in detail about 12 Agility principles 12 1 K2
1. Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes
harness change for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the
project.
5. Build projects around motivated individuals. Give them the environment and
support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and
within a development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers,and users should
be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances
agility.
10. Simplicity—the art of maximizing the amount of work not done—is
essential.
11. The best architectures, requirements, and designs emerge from self–
organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then
tunes and adjusts its behavior accordingly.
6 Explain in detail about Industrial Extreme Programming (IXP). 12 1 K2
Explanation about IXP
Readiness assessment.
Project community.
Project chartering.
Test-driven management.
Retrospectives.
Continuous learning.
2
4
4
2
UNIT II –REQUIREMENT ANALYSIS
1 Discuss in detail about Requirements elicitation and analysis in requirements engineering. 12 1 K2
The activities involved in elicitation and analysis process are:
Collaborative Requirements Gathering
Quality Function Deployment
Normal requirements.
Expected requirements.
Exciting requirements. Elicitation Work Products
Usage Scenarios
2 What are the elements of Requirements model? Explain it. 12 1 K2
Scenario-based elements with example.
Class-based elements with example.
Behavioural elements with example.
Flow-oriented elements with example.
3
3
3
3
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
3 Explain about Data Modeling concepts in requirement modeling in detail. With neat
diagram.
12 1 K2
Introduction
Data Objects
Data Attributes
Relationships
Examples with neat diagram.
2
2
2
2
4
4 Create a control flow in requirement modeling with neat diagrammatic representation. 12 1 K3
Introduction
The Control Specification
The Process Specification
PSPEC: process password
Examples with neat diagram.
3
3
3
3
5 Describe the process and product metrics in detail. 12 1 K2
Measures, Metrics, and Indicators
Metrics in the Process and Project Domains
Software Measurement
Reconciling Different Metrics Approaches
Metrics for Software Quality
Integrating Metrics Within the Software Engineering Process
Managing Variation: Statistical Quality Control
Metrics for Small Organizations
Establishing a Software Metrics Program
6 Discuss about classification of Metrics with neat diagram. 12 1 K2
Halstead’s Metrics
Graph Theoretic Metric
McClure’s Complexity Metric
Example with neat diagram.
3
3
3
3
UNIT III – SOFTWARE DESIGN
1 Explain the set of principles for software engineering design. 12 2 K2
The design process should not suffer from tunnel vision.
The design should be traceable to the analysis model.
The design should not reinvent the wheel.
The design should minimise intellectual distance between the software and the problem as it
exists in the real world.
The design should exhibit uniformity and integration.
The design should be structured to degrade gently, even with bad data, events, or operating
conditions are encountered.
The design should be reviewed to minimize conceptual (semantic) errors.
Design is not coding, coding is not design.
The design should be structured to accommodate change.
The design should be assessed for quality as it is being created.
2 Explain various design concepts in detail. 12 2 K2
Abstraction
Architecture
Patterns
Separation of Concerns
Modularity
Information Hiding
Functional Independence
Refinement
Aspects
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
Refactoring
Object-Oriented Design Concepts
Design Classes
3 Define cohesion and coupling. Explain the various types in each of them. 12 2 K2
Definition for Cohesion
Types of Cohesion
Example
Definition for Coupling
Types of Coupling
Example
2
2
2
2
2
2
4 Explain the software documentation in detail. 12 2 K2
Introduction
Writing a good design documentation
Supporting documents
Program Unit Notebooks
Release Approval
Internal Documentation
2
2
2
2
2
2
5 Explain in detail about real-time and distributed system design with neat diagrammatic
representation.
12 2 K2
Real-time and Distributed System design Explanation.
Example with neat Diagram for real-time system.
Real-time programming
Example for Distributed System with neat diagram
The distributed architecture and design principles
4
2
2
2
2
6 Discuss in detail about software reuse. 12 2 K2
Reuse based software engineering
Benefits of reuse
Requirements for design reuse
Reuse Problem
Designing for reuse
Design with reuse is complementary to design for reusability
2
2
2
2
2
2
UNIT IV – SOFTWARE TESTING
1 Explain the bottom up testing with neat diagram 12 3 K2
Bottom up
Bottom Up Testing Strategies.
Bottom Up Testing Flow Diagram.
Advantages and disadvantages of Bottom Up Testing.
2
4
4
2
2 Explain the bottom up testing with neat diagram 12 3 K2
Bottom up
Bottom Up Testing Strategies.
Bottom Up Testing Flow Diagram.
Advantages and disadvantages of Bottom Up Testing.
2
4
4
2
3 Explain in detail about Unit Testing with neat diagram 12 3 K2
Unit Testing
Advantages and disadvantages of Unit Testing
Unit Testing Life Cycle
Unit Testing Techniques.
2
2
4
4
4 Explain Functional Testing verses structural Testing Coding. 12 3 K2
Functional Testing
Merits of Functional Testing
Demerits of Functional Testing
structural Testing Coding
2
2
2
2
2
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
Merits of structural Testing Coding
Demerits of Functional Testing
2
5 Explain Functional Testing in detail. 12 3 K2
Functional Testing
Advantages and disadvantage of Functional Testing
Functional Testing Workflow
2
4
6
6 Explain structural Testing Coding in detail. 12 3 K2
Structural Testing Coding
Advantages and disadvantage of structural Testing Coding
Structural Testing Coding workflow
2
4
6
UNIT V – SOFTWARE MAINTENANCE AND SOFTWARE METRICS
1 How to measure the Process and Product attributes in detail. 12 4 K2
Product Vs Process
Process Metrics and software process improvement.
Project Metrics
Example with neat diagram.
4
4
2
2
2 Explain in detail about Direct and Indirect measure with examples. 12 4 K2
Size Oriented Metrics
Function-Oriented Metrics
Feature Point Metrics
Metrics for Software Quality
Integrating Metrics within Software process
2
2
2
3
3
3 Describe about Software Reliability. 12 4 K2
Software Reliability Metrics
Software Safety
Mistake-Proofing Software
ISO 9000 Quality Standards
The SQA Plan
4
2
2
2
2
4 Discuss in detail about Software Quality Assurance. 12 4 K2
Software Quality Assurance.
SQA Group Activities
Software Reviews
Cost impact of software defects
Formal Technical Reviews
Statistical Quality Assurance
Six Sigma for software Engineering
2
2
2
2
2
1
1
5 Explain in detail about Software Configuration Items with neat diagram. 12 4 K2
The SM repository
The Role of the Repository
General Features and Content
SCM Features
3
3
3
3
6 What is the Need for SCM? Explain it in detail with example. 12 4 K2
A SCM Scenario
Elements of a configuration Management System
Baselines.
4
4
4
PART – C (20 Mark Questions with Key)
S.No Questions Mark COs BTL
UNIT I – INTRODUCTION
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
1 Case study for Project Plan and Software Requirements Specification. 20 1 K4
Project Plan
Explanation
5
15
2 Explain in detail about Extreme Programming (XP) in Agile model with example. 20 1 K2
XP Values
The XP Process
Industrial XP
The XP Debate
5
5
5
5
UNIT II – REQUIREMENT ANALYSIS
1 Develop a use case for Safe Home control panel. 20 1 K3
Identify the Actors
The basic use case for system activation to homeowner uses the control panel
Use case Diagram
The following template for detailed descriptions of use cases:
Use case: Initiate Monitoring
Primary actor: Homeowner.
Goal in context: To set the system to monitor sensors when the homeowner leaves
the house or remains inside.
Preconditions: System has been programmed for a password and to recognize
various sensors.
Trigger: The homeowner decides to ―set‖ the system, i.e., to turn on the alarm
functions.
Scenario:
1. Homeowner: observes control panel
2. Homeowner: enters password
3. Homeowner: selects ―stay‖ or ―away‖
4. Homeowner: observes read alarm light to indicate that SafeHome has been armed
Exceptions:
1. Control panel is not ready: homeowner checks all sensors to determine which are
open; closes them.
2. Password is incorrect (control panel beeps once): homeowner re enters correct
password.
3. Password not recognized: monitoring and response subsystem must be contacted
to reprogram password.
4. Stay is selected: control panel beeps twice and a stay light is lit; perimeter sensors
are activated.
5. Away is selected: control panel beeps three times and an away light is lit; all
sensors are activated.
Priority: Essential, must be implemented
When available: First increment
Frequency of use: Many times per day
Channel to actor: Via control panel interface
Secondary actors: Support technician, sensors
Channels to secondary actors:
Support technician: phone line
Sensors: hardwired and radio frequency interfaces
3
17
2 Explain in detail about Cost Estimation with example. 20 1 K2
Expert Judgment
Delphi estimation technique
Work Breakdown Structure(WBS)
6
8
6
UNIT III – SOFTWARE DESIGN
1 Explain in detail about data Flow Oriented Modeling with neat diagrammatic
representation.
20 2 K2
E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai)
Nagore Post, Nagapattinam – 611 002, Tamilnadu.
Rev.0 COE/2018/QB
Creating a control flow model
The Control Specification(CSPEC)
The Process Specification(PSPEC)
Class-Responsibility-Collaborator(CRC( Modeling
5
5
5
5
2 Discuss in detail about Software Architecture with diagrammatic representation. 20 2 K2
Why Architecture is important
Architectural Styles and Patterns
Refining the Architecture into components
Assessing alternative architectural designs
Analyzing Architectural design
Describing instantiations of the system
Architectural Complexity
Architectural Description Language
Mapping dataflow into a Software Architecture
Transform mapping
Transaction mapping
Functional Independence
2
3
2
2
2
2
2
1
1
1
1
1
UNIT IV – SOFTWARE TESTING
1 Case study for Testing Techniques. 20 3 K4
Testing Types with explanation
Test Case Design
Example with diagram.
10
5
5
2 Explain in detail about Software Testing fundamental with example. 20 3 K2
Software Testing Fundamentals
Testing Objectives
Testing Principles
Testability
5
10
5
UNIT V – SOFTWARE MAINTENANCE AND SOFTWARE METRICS
1 Explain in detail about CASE Taxonomy. 20 4 K2
Explanation about CASE Tools Types.
Configuration Management Features need by CASE Tools
15
5
2 Describe about SCM Task in detail with diagram. 20 4 K2
Identification of Objects in the Software Configuration
Version Control
Change Control
Configuration Audit
Status Reporting
6
5
3
3
3