Software Engeneering Note (1)
Software Engeneering Note (1)
Ans> System analysis is the process of understanding the needs and requirements of
a system, including its components, interactions, and environment. It's the initial stage
of software development where analysts gather, document, and analyze information to
define what the system needs to do and how it should function.
(i) Lack of flexibility:- Once a phase is completed, going back to make changes is
difficult and costly.
Page | 1
(ii) Late testing: Testing comes after development, which can delay the discovery of
critical issues.
(iii) Slow to deliver value: Usable software is only available at the end, which is too
late for many fast-paced industries today.
(iv) Rigid planning: Assumes all requirements can be gathered upfront, which is
unrealistic for most modern, evolving projects.
4. What is prototype ?
Ans> Prototyping Model is used when the customers do not know the exact project
requirements beforehand. In this model, a prototype of the end product is first
developed, tested and refined as per customer feedback repeatedly till a final
acceptable prototype is achieved which forms the basis for developing the final
product.
Page | 2
7. Write down the difference between logical and physical DFD.
Ans>
Logical DFD Physical DFD
(i) A type of DFD that depicts how the (i) A type of DFD that depicts how the
business operates. system is implemented.
(ii) Focuses on the business activities. (ii) Focuses on the system
implementation.
(iii) A process is a business activity. (iii) A process is a software program or
manual procedures.
(iv) A data store is a collection of (iv) Data stores are databases,computer
information. files and paper files.
(v) Simple (v) Complex
10. Describe the terms test case and test case criterion ?
Ans> Test Case :- A test case is a documented set of instructions, input data, and
expected results designed to verify if a specific functionality of a system is working
as intended.
Test case criterion :- A test case criterion, on the other hand, defines the goals and
objectives for a test effort, providing a framework for selecting which test cases will
be executed.
Page | 3
(ii) Semi-detached – A software project is said to be a Semi-detached type if the
vital characteristics such as team size, experience, and knowledge of the various
programming environment lie in between that of organic and Embedded.
(iii) Embedded – A software project requiring the highest level of complexity,
creativity, and experience requirement fall under this category. Such software
requires a larger team size than the other two models and also the developers need
to be sufficiently experienced and creative to develop such complex models.
14. Write down the list of activities that project manager perform
during project planning ?
Ans> Software Project Management consists of many activities, that includes
planning of the project, deciding the scope of product, estimation of cost in different
terms, scheduling of tasks, etc. The list of activities are as follows:
(i) Project Planning: It is a set of multiple processes, or we can say that it a task
that performed before the construction of the product starts.
(ii) Scope Management: It describes the scope of the project. Scope management
is important because it clearly defines what would do and what would not.
(iii) Scheduling Management: Scheduling Management in software refers to all the
activities to complete in the specified order and within time slotted to each activity.
Page | 4
(iv) Project Communication Management: Communication is an essential factor
in the success of the project.
(v) Estimation management: This is not only about cost estimation because
whenever we start to develop software, but we also figure out their size(line of
code), efforts, time as well as cost.
Page | 5
18. What is Halstead’s software science ?
Ans> Halstead’s Software Science is a set of software metrics introduced by Maurice
H. Halstead in 1977 to measure the complexity of a software program based on the
operators and operands used in the source code. The goal is to estimate
development effort, time, and potential errors without relying on subjective factors.
Verification Validation
(i) Verification refers to the set of (i) Validation refers to the set of activities
activities that ensure software correctly that ensure that the software that has
implements the specific function been built is traceable to customer
requirements.
(ii) It includes checking documents, (ii) It includes testing and validating the
designs, codes, and programs. actual product.
(iv) It does not include the execution of (iv) It includes the execution of the code.
the code.
Page | 6
(ii) ISO 9000-1: 1994 –This series of standards includes Quality management
systems and Quality assurance standards. It also includes some guidelines for
selection and use.
(iii) ISO 9001: 2000 –This series of standards also includes Quality management
systems.
23.What is Coupling ?
Ans> Coupling : A good design is the one that has low coupling. Coupling is
measured by the number of relations between the modules. That is, the coupling
increases as the number of calls between modules increase or the amount of shared
data is large. Thus, it can be said that a design with high coupling will have more
errors.
Types of Coupling :
(i) No Direct Coupling: There is no direct coupling between M1 and M2. In this
case, modules are subordinates to different modules. Therefore, no direct coupling.
(ii) Data Coupling: When data of one module is passed to another module, this is
called data coupling.
(iii) Control Coupling: Control Coupling exists among two modules if data from one
module is used to direct the structure of instruction execution in another.
(iv) Common Coupling: Two modules are common coupled if they share
information through some global data items.
(v) Content Coupling: Content Coupling exists among two modules if they share
code, e.g., a branch from one module into another module.
Page | 7
24. Describe the various levels or stages of software testing ?
Ans> (i) Unit Testing :- Unit testing is a method of testing individual units or
components of a software application. It is typically done by developers and is used
to ensure that the individual units of the software are working as intended.
(ii) Integration Testing :- Integration testing is a method of testing how different
units or components of a software application interact with each other. It is used to
identify and resolve any issues that may arise when different units of the software
are combined.
(iii) System testing :- System Testing is when you test the software as a system.
This stage checks whether the entire system functions as expected in a real-world
environment. It includes both functional and non-functional tests to ensure that the
software meets customer needs.
(iv) Acceptance Testing :- Acceptance Testing, also known as User
Acceptance Testing (UAT), is the final test before releasing the software to the
end-users. In this phase, the customer or end-users verify if the software meets
their needs and expectations.
Other Names we can also call it closed we can also call it clear
testing. box testing.
Page | 8
a project, identify areas in need of optimization, and analyze development
performance benchmarks over time.
27. What do you mean by the terms Cohension in the context of
software design? How are these concepts useful in arriving at a
good design of a system ?
Ans> Cohension :- Cohesion defines to the degree to which the elements of a
module belong together. Thus, cohesion measures the strength of relationships
between pieces of functionality within a given module. For example, in highly
cohesive systems, functionality is strongly related.
Why is Cohesion Important for Good System Design:
(i) Improves Maintainability: High cohesion means each module does one thing
well, making it easier to update or fix.
(ii) Enhances Reusability: Focused modules can be reused in other parts of the
system or in different projects.
(iii) Improves Testing: Cohesive modules are simpler to test in isolation.
(iv) Supports Modularity: Clear boundaries between modules make the system
easier to understand and develop.
Page | 9
29. Explain the different type of maintenance of classical waterfall
model?
Ans> Maintenance :- Maintenance is the most important phase of a software life
cycle. The effort spent on maintenance is 60% of the total effort spent to develop a
full software. There are basically three types of maintenance :
(i) Corrective Maintenance: This type of maintenance is carried out to correct
errors that were not discovered during the product development phase.
(ii) Perfective Maintenance: This type of maintenance is carried out to enhance the
functionalities of the system based on the customer’s request.
(iii) Adaptive Maintenance: Adaptive maintenance is usually required for porting the
software to work in a new environment such as working on a new computer platform
or with a new operating system.
Page | 10
Types of black box testing :- (i) Functional Testing, (ii) Regression Testing,
(iii) Non-Functional Testing.
32. List some advantage of waterfall model ?
Ans> Advantages : (i) This model is very simple and is easy to understand.
(ii) Phases in this model are processed one at a time.
(iii) Each stage in the model is clearly defined.
(iv) This model has very clear and well-understood milestones.
(v) Process, actions and results are very well documented.
Cohesion Coupling
(i) Cohesion is the concept of an intro- (i) Coupling is the concept of inter-
module. module.
(ii) Increasing cohesion is good for (ii) Increasing coupling is avoided for
software. software.
(iii) Cohesion is created between the (iii) Coupling is created between two
same module. different modules.
Page | 13
detailed enough to validate the model. For example: Writing a University system
program, writing a word processor.
Bottom-Up Design Model: In this design, individual parts of the system are
specified in detail. The parts are linked to form larger components, which are in turn
linked until a complete system is formed. Object-oriented language such as C++ or
java uses a bottom-up approach where each object is identified first.
(i) Importance is not given to data but (i) Importance is given to data rather
to functions. than procedures.
(iii) It uses recursion for iteration. (iii) It uses loops for iteration.
(v) Does not have any access (v) Has three access specifiers
specifier. namely, Public, Private and Protected.
Page | 14
(v) Regression Testing :- This ensures that any new code or features don’t break
or negatively affect the system’s existing functionality.
Page | 15
(iv) Make communication between stakeholders easier.
Page | 16
(iv) Resource Management: By taking team experience, project size, and
complexity into account, the model helps with efficient resource allocation.
51. What are the difference between iterative and classical waterfall
model ?
Aspect Waterfall Model Iterative Model
(ii) White Box Test : White Box Testing is a method of software testing in which the
user knows the internal design/ implementation/ structure of the tested item. White
box testing is also known as Structural Testing or Code-based Testing, and it is
used to test the software’s internal logic, flow, and structure. The tester creates test
cases to examine the code paths and logic flows to ensure they meet the specified
requirements. Types of White box testing : (a) Unit Testing, (b) Integration Testing,
(c) System Testing.
Page | 17
53. What are the metrics of reliability ?
Ans> Metrics of reliability : Reliability metrics are used to quantitatively expressed
the reliability of the software product. The option of which metric is to be used
depends upon the type of system to which it applies & the requirements of the
application domain.
Page | 18
(vi) Pseudocode : A pseudocode does not conform to any programming language
and expresses logic in plain English.
• It is used in conjunction with structured programming.
• It replaces the flowcharts of a program.
Page | 19
60. What is a Baseline?
Ans> A baseline is a measurement that defines the completeness of a phase. After
all activities associated with a particular phase are accomplished, the phase is
complete and acts as a baseline for next phase.
(i) It is the technique of managing quality. (i) It is the technique to verify quality.
(ii) It does not include the execution of (ii) It always includes the execution of the
the program. program.
(iii) It is a managerial tool. (iii) It is a corrective tool.
(iv) It is process-oriented. (iv) It is product-oriented.
(v) It is a preventive technique. (v) It is a corrective technique.
Page | 20
65. What is level-0 DFD?
Ans> The highest abstraction level is called Level 0 of DFD. It is also called context-
level DFD. It portrays the entire information system as one diagram.
Page | 22
(v) Maintenance: In the maintenance phase, the software is maintained to ensure
that it continues to meet the customer’s needs and expectations.
Page | 24
40. What is Data Dictionary ? (page-13)
41. Explain Top-Down and Botton-up design ? (page-13,14)
42. Write down the difference between Functional and Object oriented
approach ? (page-14)
43. What is Software testing ? (page-14)
44. Mention The different types of system testing ? (page-14)
45. Write down the difference between Testing and Debugging ?
(page-15)
46. Explain briefly discuss basic COCOMO model ? (page-15)
47. What is ER-diagram ? Discuss its usage in data modeling ? (page- 15)
48. Difference between DFD and ER-diagram ? (page-16)
49. Explain the role of Data Dictionary ? (page-16)
50. What is the importance of COCOMO model ? (page-16)
51. What are the difference between iterative and classical waterfall model ?
(page-16)
52. Write a short note on : (i) Software configuration management, (ii) White
Box Test, (iii) Quality Standards. (page-17)
53. What are the metrics of reliability ? (page-18)
54. What do you mean by Structured Analysis? (page-18)
55. Explain various tools of structured Analysis in details ? (page-18)
56. What is Alpha Testing ? (page-19)
57. What are the characteristics of a good test plan ? (page- 19)
58. What is Feasibility Study ? (page-19)
59. What is Use case Diagram ? (page-19)
60. What is a Baseline? (page-19)
61. What is COCOMO Model? (page-19)
62. Distinguish between Alpha and Beta Testing? (page-20)
63. What is the Difference Between Quality Assurance and Quality Control?
(page-20)
64. What are CASE Tools? (page-20)
65. What is level-0 DFD? (page-20)
66. What is level-2 DFD ? (page-20)
Page | 25
67. What is Testing ? Explain types of testing ? (page-21)
68. What is Documentation ? (page-21)
69. What is Software ? (page-21)
70. What is Software Engineering? Why is software Engineering required ?
(page-21)
71. What is Characteristics of a Good Software engineer? (page-21,22)
72. What is the Goal of Software Engineering ? (page-22)
73. What is V-model ? Explain the phases of V-Model ? (page-22)
Page | 26
Page | 27