SlideShare a Scribd company logo
Software Engineering and Architecture
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.
3. What are the characteristics of the software?
Software is engineered,not manufactured. Software does not wear out.Most software is custom built
rather than being assembled from components.
4.What are the various categories of software?
 System software
 Application software
 Engineering/Scientific software
 Embedded software
 Web Applications
 Artificial Intelligence software
5.What are the challenges in software?
 Copying with legacy systems.
 Heterogeneity challenge
 Delivery times challenge
6.Define software process.
Software process is defined as the structured set of activities that are required to develop the software
system.
7. What are the fundamental activities of a software process?
 Specification
 Design and implementation
 Validation
 Evolution
8. 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.
9. What are the merits of incremental model?
 The incremental model can be adopted when tere 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.
10. 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.
11. 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.
12. What is System Engineering?
System Engineering means designing,implementing,deploying and operating systems which include
hardware,software and people.
13. 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.
14. What is an effector process?
The effector process is a process that verifies itself.The effector process exists in certain criteria.
15. Define the computer based system.
The computer based system can be defined as “a set or an arrangement of elements that are organized to
accomplish some predefined goal by processing information”.
16. What does Verification represent?
Verification represents the set of activities that are carried out to confirm that the software correctly
implements the specific functionality.
17. What does Validation represent?
Validation represents the set of activities that ensure that the software that has been built is satisfying the
customer requirements.
18. What are the steps followed in testing?
i. Unit testing – The individual components are tested in this type of testing.
ii. Module testing – Related collection of independent components are tested.
iii. Sub-system testing – This is a kind of integration testing.Various modules are integrated into a
subsystem and the whole subsystem is tested.
iv. System testing – The whole system is tested in this system.
v. 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.
19. What is the use of CMM?
Capability Maturity Model is used in assessing how well an organisation’s processes allow to complete
and manage new software projects.
20. Name the Evolutionary process Models.
 Incremental model
 Spiral model
 WIN-WIN spiral model
 Concurrent Development
21. What is requirement engineering?
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.
22. What are the various types of traceability in software engineering?
 Source traceability – These are basically the links from requirement to stakeholders who
propose these requirements.
 Requirements traceability – These are links between dependant requirements.
 Designtraceability – These are links from requirements to design.
23. Define software prototyping.
Software prototyping is defined as a rapid software development for validating the requirements.
24. 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.
25. What are the prototyping approaches in 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 problems can be identified from this implementation. It is then discarded.
System is then developed using some different engineering paradigm.
26. 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.
27. What are the various Rapid prototyping techniques?
 Dynamic high level language development.
 Database programming.
 Component and application assembly.
28. What is the use of User Interface prototyping?
This prototyping is used to pre-specify the look and feel of user interface in an effective way.
29. What are the objectives of Analysis modeling?
 To describe what the customer requires.
 To establish a basis for the creation of software design.
 To devise a set of valid requirements after which the software can be built.
30. What are the characteristics of SRS?
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 an
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.
Traceable – What is the need for mentioned requirement?This should be correctly identified.
31. 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.
32. What is a data object?
Data object is a collection of attributes that act as an aspect, characteristic,quality, or descriptor of the
object.
33. What are attributes?
Attributes are the one, which defines the properties of data object.
34. What is cardinality in data modeling?
Cardinality in data modeling, cardinality specifies how the number of occurrences of one object is
related to the number of occurrences of another object.
35. What does modality in data modeling indicates?
Modality indicates whether or not a particular data object must participate in the relationship.
36. What is ERD?
Entity Relationship Diagram is the graphical representation of the object relationship pair.It is mainly
used in database applications.
37. 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.
38. 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.
39. 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.
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.
41. What are the elements of Analysis model?
 Data Dictionary
 Entity Relationship Diagram
 Data Flow Diagram
 State Transition Diagram
 Control Specification
 Process specification
42. What are the elements of design model?
 Data design
 Architectural design
 Interface design
 Component-level design
43. Define design process.
Design process is a sequence of steps carried through which the requirements are translated into a
system or software model.
44. List the principles of a software design.
 The design process should not suffer from “tunnel vision”.
 The design should be traceable to the analysis model.
 The design should exhibit uniformity and integration.
 Design is not coding.
 The design should not reinvent the wheel.
45. What is the benefit of modular design?
Changes made during testing and maintenance becomes manageable and they do not affect other modules.
46. 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.
47. What are the different types of Cohesion?
i. Coincidentally cohesive –The modules in which the set Iof 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.
48. What is Coupling?
Coupling is the measure of interconnection among modules in a program structure. It depends on the
interface complexity between modules.
49. 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.
50. 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.
51. What are the benefits of horizontal partitioning?
 Software that is easy to test.
 Software that is easier to maintain.
 Propagation of fewer sideeffects.
 Software that is easier to extend.
52. What is vertical partitioning?
Vertical partitioning often called factoring suggests that the control and work should be distributed top-
down in program structure.
53. What are the advantages of vertical partitioning?
 These are easy to maintain changes.
 They reduce the change impact and error propagation.
54. 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.
55. List the guidelines for data design.
 Apply systematic analysis on data.
 Identify data structures and related operations.
 Establish data dictionary.
 Use information hiding in the design of data structure.
 Apply a library of useful data structures and operations.
56. 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.
57. 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.
58. 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.
59. What is SCM?
Software Configuration Management is a set of activities carried out for identifying, organizing and
controlling changes throughout the lifecycle of computer software.
60. What is SCI?
Software Configuration Item is information that is carried as part of the software engineering process.
61. Define software testing?
Software testing is a critical element of software quality assurance and represents the ultimate review of
specification, design, and coding.
62. What are the objectives of testing?
 Testing is a process of executing a program with the intend of finding anerror.
 A good test case is one that has high probability of finding an undiscovered error.
 A successful test is one that uncovers as an-yet undiscovered error.
63. What are the testing principles the software engineer must apply while performing the
software testing?
 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.
63. 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.
64. What are the various testing activities?
 Test planning
 Test case design
 Test execution
 Data collection
 Effective evaluation
65. Write short note on black box testing.
fully focus on the functional requirements of the software. Tests are derived that fully exercise all
functional requirements.
66. 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.
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.
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.
69. What is cyclomatic complexity?
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.
70. 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.
71. 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?”
72. What are the various testing strategies for conventional software?
 Unit testing
 Integration testing.
 Validation testing.
 System testing.
73. Write about drivers and stubs.
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.
74. 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.
75. 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.
76. 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.
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.
78.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.
79. 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.
80. Define debugging.
Debugging is defined as the process of removal of defect. It occurs as a consequence of successful
testing.
81. 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.
82. Write about the types of project plan.
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.
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.
84. Define metrics.
Metrics is defined as the degree to which a system component,or process possesses a given attribute.
85. 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.
86. 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.
87. 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.
88. 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.
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 overallprediction synthesized from experts.
90. 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.
91. What is EVA?
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.
92. 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.
93. 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.
94. Write about software change strategies.
The software change strategies that could be applied separately or together are:
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.
95. What is software maintenance?
Software maintenance is an activity in which program is modified after it has been put into use.
96. 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.
97. What are the types of software maintenance?
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.
98. What is architectural evolution?
Architectural evolution is the process of changing a system from a centralized architecture to a
distributed architecture like client server.
99. How the CASE tools are classified?
CASE tools can be classified by
a. By function or use
b. By user type(e.g. manager,tester),or
c. By stage in software engineering process (e.g.requirements,test).
100. What are the types of static testing tools?
There are three types of static testing tools.
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.

More Related Content

PPTX
Identity and access management
PPTX
System Analysis and Design
PDF
What is Penetration & Penetration test ?
PPT
Paths, Path products and Regular expressions: path products & path expression...
PPTX
data design and component design.pptx
PDF
Defying Logic - Business Logic Testing with Automation
PDF
IBM Security Strategy Overview
PDF
Cybersecurity Capability Maturity Model Self-Evaluation Report Jan 27 2023.pdf
Identity and access management
System Analysis and Design
What is Penetration & Penetration test ?
Paths, Path products and Regular expressions: path products & path expression...
data design and component design.pptx
Defying Logic - Business Logic Testing with Automation
IBM Security Strategy Overview
Cybersecurity Capability Maturity Model Self-Evaluation Report Jan 27 2023.pdf

What's hot (20)

PPS
Software design principles
PPT
FireWall
PPTX
Composite design pattern
PDF
What is SIEM? A Brilliant Guide to the Basics
PDF
Software Engineering Past Papers (Short Questions)
PDF
Web designing syllabus
DOC
Pentest Report Sample
PDF
software architecture
PDF
Understanding the Event Log
PPTX
Security misconfiguration
PPTX
Transaction Flow Testing: transaction flows, transaction flow testing techniq...
PPT
Slides chapters 26-27
PDF
Local File Inclusion to Remote Code Execution
PPT
Design pattern & categories
PPT
OO Development 1 - Introduction to Object-Oriented Development
PPTX
SQL INJECTION
PPTX
Architecture evaluation
PPTX
Codeinjection
PPTX
Deployment
Software design principles
FireWall
Composite design pattern
What is SIEM? A Brilliant Guide to the Basics
Software Engineering Past Papers (Short Questions)
Web designing syllabus
Pentest Report Sample
software architecture
Understanding the Event Log
Security misconfiguration
Transaction Flow Testing: transaction flows, transaction flow testing techniq...
Slides chapters 26-27
Local File Inclusion to Remote Code Execution
Design pattern & categories
OO Development 1 - Introduction to Object-Oriented Development
SQL INJECTION
Architecture evaluation
Codeinjection
Deployment
Ad

Similar to SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES (20)

DOC
Sw engg two mark question
DOCX
Software Engineering Solved Past Paper 2020
DOCX
Software Engineering (Short & Long Questions)
DOCX
software engineering
DOC
Software engineering FAQ
PDF
Software Engineering Important Short Question for Exams
PDF
Software Engineering Past Papers Notes
PDF
Software engineering interview questions
PDF
software_engineering_interview_questions.pdf
DOCX
Sofware Engineering Important Past Paper 2019
PPTX
Fundamentals of software development
PDF
Week 01-intro se
PDF
Se chapter 1,2,3 2 mark qa
PDF
Software vjhghjjkhjkkkghhjhEngineering.pdf
PDF
Bt0081 software engineering
PDF
Software Engineering Model Question Paper 5th sem (1) (1).pdf
PPTX
Software Engineering Notes Unit - 1.pptx
PPTX
Lecture 3 software_engineering
PPT
Introduction and life cycle models
PDF
SE_chap1.pdf
Sw engg two mark question
Software Engineering Solved Past Paper 2020
Software Engineering (Short & Long Questions)
software engineering
Software engineering FAQ
Software Engineering Important Short Question for Exams
Software Engineering Past Papers Notes
Software engineering interview questions
software_engineering_interview_questions.pdf
Sofware Engineering Important Past Paper 2019
Fundamentals of software development
Week 01-intro se
Se chapter 1,2,3 2 mark qa
Software vjhghjjkhjkkkghhjhEngineering.pdf
Bt0081 software engineering
Software Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Notes Unit - 1.pptx
Lecture 3 software_engineering
Introduction and life cycle models
SE_chap1.pdf
Ad

More from suthi (20)

PDF
Object Oriented Programming -- Dr Robert Harle
PDF
THE ROLE OF EDGE COMPUTING IN INTERNET OF THINGS
PDF
EDGE COMPUTING: VISION AND CHALLENGES
PDF
Document Classification Using KNN with Fuzzy Bags of Word Representation
DOC
AUTOMATA THEORY - SHORT NOTES
DOC
OBJECT ORIENTED PROGRAMMING LANGUAGE - SHORT NOTES
DOC
PARALLEL ARCHITECTURE AND COMPUTING - SHORT NOTES
DOC
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
DOC
COMPUTER HARDWARE - SHORT NOTES
DOC
DATA BASE MANAGEMENT SYSTEM - SHORT NOTES
DOC
OPERATING SYSTEM - SHORT NOTES
DOC
ALGORITHMS - SHORT NOTES
DOC
COMPUTER NETWORKS - SHORT NOTES
DOC
DATA STRUCTURES - SHORT NOTES
DOC
ARTIFICIAL INTELLIGENCE - SHORT NOTES
PDF
LIGHT PEAK
PDF
Action Recognition using Nonnegative Action
PDF
C Programming Tutorial
PDF
Data structure - mcqs
PDF
Data base management systems ppt
Object Oriented Programming -- Dr Robert Harle
THE ROLE OF EDGE COMPUTING IN INTERNET OF THINGS
EDGE COMPUTING: VISION AND CHALLENGES
Document Classification Using KNN with Fuzzy Bags of Word Representation
AUTOMATA THEORY - SHORT NOTES
OBJECT ORIENTED PROGRAMMING LANGUAGE - SHORT NOTES
PARALLEL ARCHITECTURE AND COMPUTING - SHORT NOTES
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
COMPUTER HARDWARE - SHORT NOTES
DATA BASE MANAGEMENT SYSTEM - SHORT NOTES
OPERATING SYSTEM - SHORT NOTES
ALGORITHMS - SHORT NOTES
COMPUTER NETWORKS - SHORT NOTES
DATA STRUCTURES - SHORT NOTES
ARTIFICIAL INTELLIGENCE - SHORT NOTES
LIGHT PEAK
Action Recognition using Nonnegative Action
C Programming Tutorial
Data structure - mcqs
Data base management systems ppt

Recently uploaded (20)

PPTX
COMPUTERS AS DATA ANALYSIS IN PRECLINICAL DEVELOPMENT.pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Basic Mud Logging Guide for educational purpose
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Introduction-to-Social-Work-by-Leonora-Serafeca-De-Guzman-Group-2.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
Business Ethics Teaching Materials for college
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
master seminar digital applications in india
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
COMPUTERS AS DATA ANALYSIS IN PRECLINICAL DEVELOPMENT.pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Basic Mud Logging Guide for educational purpose
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Renaissance Architecture: A Journey from Faith to Humanism
Introduction-to-Social-Work-by-Leonora-Serafeca-De-Guzman-Group-2.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Business Ethics Teaching Materials for college
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
master seminar digital applications in india
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
01-Introduction-to-Information-Management.pdf
Anesthesia in Laparoscopic Surgery in India

SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES

  • 1. Software Engineering and Architecture 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. 3. What are the characteristics of the software? Software is engineered,not manufactured. Software does not wear out.Most software is custom built rather than being assembled from components. 4.What are the various categories of software?  System software  Application software  Engineering/Scientific software  Embedded software  Web Applications  Artificial Intelligence software 5.What are the challenges in software?  Copying with legacy systems.  Heterogeneity challenge  Delivery times challenge 6.Define software process. Software process is defined as the structured set of activities that are required to develop the software system. 7. What are the fundamental activities of a software process?  Specification  Design and implementation  Validation  Evolution 8. 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. 9. What are the merits of incremental model?  The incremental model can be adopted when tere 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.
  • 2. 10. 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. 11. 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. 12. What is System Engineering? System Engineering means designing,implementing,deploying and operating systems which include hardware,software and people. 13. 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. 14. What is an effector process? The effector process is a process that verifies itself.The effector process exists in certain criteria. 15. Define the computer based system. The computer based system can be defined as “a set or an arrangement of elements that are organized to accomplish some predefined goal by processing information”. 16. What does Verification represent? Verification represents the set of activities that are carried out to confirm that the software correctly implements the specific functionality. 17. What does Validation represent? Validation represents the set of activities that ensure that the software that has been built is satisfying the customer requirements. 18. What are the steps followed in testing? i. Unit testing – The individual components are tested in this type of testing. ii. Module testing – Related collection of independent components are tested. iii. Sub-system testing – This is a kind of integration testing.Various modules are integrated into a subsystem and the whole subsystem is tested. iv. System testing – The whole system is tested in this system. v. 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.
  • 3. 19. What is the use of CMM? Capability Maturity Model is used in assessing how well an organisation’s processes allow to complete and manage new software projects. 20. Name the Evolutionary process Models.  Incremental model  Spiral model  WIN-WIN spiral model  Concurrent Development 21. What is requirement engineering? 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. 22. What are the various types of traceability in software engineering?  Source traceability – These are basically the links from requirement to stakeholders who propose these requirements.  Requirements traceability – These are links between dependant requirements.  Designtraceability – These are links from requirements to design. 23. Define software prototyping. Software prototyping is defined as a rapid software development for validating the requirements. 24. 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. 25. What are the prototyping approaches in 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 problems can be identified from this implementation. It is then discarded. System is then developed using some different engineering paradigm. 26. 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. 27. What are the various Rapid prototyping techniques?  Dynamic high level language development.  Database programming.  Component and application assembly. 28. What is the use of User Interface prototyping? This prototyping is used to pre-specify the look and feel of user interface in an effective way. 29. What are the objectives of Analysis modeling?  To describe what the customer requires.  To establish a basis for the creation of software design.  To devise a set of valid requirements after which the software can be built.
  • 4. 30. What are the characteristics of SRS? 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 an 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. Traceable – What is the need for mentioned requirement?This should be correctly identified. 31. 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. 32. What is a data object? Data object is a collection of attributes that act as an aspect, characteristic,quality, or descriptor of the object. 33. What are attributes? Attributes are the one, which defines the properties of data object. 34. What is cardinality in data modeling? Cardinality in data modeling, cardinality specifies how the number of occurrences of one object is related to the number of occurrences of another object. 35. What does modality in data modeling indicates? Modality indicates whether or not a particular data object must participate in the relationship. 36. What is ERD? Entity Relationship Diagram is the graphical representation of the object relationship pair.It is mainly used in database applications. 37. 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. 38. 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. 39. 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. 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. 41. What are the elements of Analysis model?  Data Dictionary  Entity Relationship Diagram  Data Flow Diagram  State Transition Diagram  Control Specification  Process specification
  • 5. 42. What are the elements of design model?  Data design  Architectural design  Interface design  Component-level design 43. Define design process. Design process is a sequence of steps carried through which the requirements are translated into a system or software model. 44. List the principles of a software design.  The design process should not suffer from “tunnel vision”.  The design should be traceable to the analysis model.  The design should exhibit uniformity and integration.  Design is not coding.  The design should not reinvent the wheel. 45. What is the benefit of modular design? Changes made during testing and maintenance becomes manageable and they do not affect other modules. 46. 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. 47. What are the different types of Cohesion? i. Coincidentally cohesive –The modules in which the set Iof 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. 48. What is Coupling? Coupling is the measure of interconnection among modules in a program structure. It depends on the interface complexity between modules. 49. 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. 50. 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.
  • 6. 51. What are the benefits of horizontal partitioning?  Software that is easy to test.  Software that is easier to maintain.  Propagation of fewer sideeffects.  Software that is easier to extend. 52. What is vertical partitioning? Vertical partitioning often called factoring suggests that the control and work should be distributed top- down in program structure. 53. What are the advantages of vertical partitioning?  These are easy to maintain changes.  They reduce the change impact and error propagation. 54. 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. 55. List the guidelines for data design.  Apply systematic analysis on data.  Identify data structures and related operations.  Establish data dictionary.  Use information hiding in the design of data structure.  Apply a library of useful data structures and operations. 56. 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. 57. 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. 58. 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. 59. What is SCM? Software Configuration Management is a set of activities carried out for identifying, organizing and controlling changes throughout the lifecycle of computer software. 60. What is SCI? Software Configuration Item is information that is carried as part of the software engineering process. 61. Define software testing? Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design, and coding.
  • 7. 62. What are the objectives of testing?  Testing is a process of executing a program with the intend of finding anerror.  A good test case is one that has high probability of finding an undiscovered error.  A successful test is one that uncovers as an-yet undiscovered error. 63. What are the testing principles the software engineer must apply while performing the software testing?  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. 63. 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. 64. What are the various testing activities?  Test planning  Test case design  Test execution  Data collection  Effective evaluation 65. Write short note on black box testing. fully focus on the functional requirements of the software. Tests are derived that fully exercise all functional requirements. 66. 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. 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. 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.
  • 8. 69. What is cyclomatic complexity? 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. 70. 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. 71. 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?” 72. What are the various testing strategies for conventional software?  Unit testing  Integration testing.  Validation testing.  System testing. 73. Write about drivers and stubs. 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. 74. 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. 75. 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. 76. 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.
  • 9. 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. 78.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. 79. 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. 80. Define debugging. Debugging is defined as the process of removal of defect. It occurs as a consequence of successful testing. 81. 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. 82. Write about the types of project plan. 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. 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. 84. Define metrics. Metrics is defined as the degree to which a system component,or process possesses a given attribute. 85. 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.
  • 10. 86. 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. 87. 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. 88. 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. 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 overallprediction synthesized from experts. 90. 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. 91. What is EVA? 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. 92. 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. 93. 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. 94. Write about software change strategies. The software change strategies that could be applied separately or together are: 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. 95. What is software maintenance? Software maintenance is an activity in which program is modified after it has been put into use. 96. 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. 97. What are the types of software maintenance? 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.
  • 12. Preventive maintenance – Means changes made to improve future maintainability. 98. What is architectural evolution? Architectural evolution is the process of changing a system from a centralized architecture to a distributed architecture like client server. 99. How the CASE tools are classified? CASE tools can be classified by a. By function or use b. By user type(e.g. manager,tester),or c. By stage in software engineering process (e.g.requirements,test). 100. What are the types of static testing tools? There are three types of static testing tools. 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.