0% found this document useful (0 votes)
2 views27 pages

Software Engeneering Note (1)

The document provides an overview of key concepts in system analysis and software development, including definitions of system analysis, feasibility studies (TELOS), and various software development models such as the classical waterfall model and prototyping. It discusses testing methodologies, project management activities, software metrics like LOC and function points, and concepts of cohesion and coupling in software design. Additionally, it touches on software reliability, ISO 9000 certification, and the importance of verification and validation in software engineering.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views27 pages

Software Engeneering Note (1)

The document provides an overview of key concepts in system analysis and software development, including definitions of system analysis, feasibility studies (TELOS), and various software development models such as the classical waterfall model and prototyping. It discusses testing methodologies, project management activities, software metrics like LOC and function points, and concepts of cohesion and coupling in software design. Additionally, it touches on software reliability, ISO 9000 certification, and the importance of verification and validation in software engineering.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 27

1. What is System Analysis?

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.

2. Discuss briefly five common factors(TELOS) of feasibility study?


Ans> The acronym TELOS refers to the five areas of feasibility- Technical,
Operational, Economic, Legal, and Scheduling.
(i) Technical Feasibility: In Technical Feasibility current resources both hardware
software along with required technology are analyzed/assessed to develop project.
This technical feasibility study gives report whether there exists correct required
resources and technologies which will be used for project development.
(ii) Operational Feasibility: In Operational Feasibility degree of providing service to
requirements is analyzed along with how much easy product will be to operate and
maintenance after deployment.
(iii) Economic Feasibility: In Economic Feasibility study cost and benefit of the
project is analyzed. Means under this feasibility study a detail analysis is carried out
what will be cost of the project for development which includes all required cost for
final development like hardware and software resource required, design and
development cost and operational cost and so on.
(iv) Legal Feasibility: Determines whether the proposed system conflicts with legal
requirements, e.g., a data processing system must comply with the local Data
protection acts.
(v) Schedule Feasibility: In Schedule Feasibility Study mainly timelines/deadlines is
analyzed for proposed project which includes how much time teams will take to
complete final project which has a great impact on the organization as purpose of
project may fail if it can’t be completed on time.

3. What is classical waterfall model ? State why this model is


difficult to use in project development in recent times ?
Ans> Classical waterfall model:- The classical waterfall model is the basic software
development life cycle model. It is very simple but idealistic. Earlier this model was
very popular but nowadays it is not used. But it is very important because all the
other software development life cycle models are based on the classical waterfall
model. It typically follows these steps in order:
(i) Requirements analysis, (ii) System design, (iii) Implementation (coding),
(iv)Testing, (v) Deployment, (vi) Maintenance.

Why it’s difficult to use in recent times:

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

5. What is the advantage of constructing a working prototype first


before developing actual model?
Ans> Advantages of using Prototype Model :
(i) This model is flexible in design.
(ii) It is easy to detect errors.
(iii) We can find missing functionality easily.
(iv) There is scope of refinement, it means new requirements can be easily
accommodated.
(v) It can be reused by the developer for more complicated projects in the future.
(vi) It ensures a greater level of customer satisfaction and comfort.

6. What are the major phases in the spiral model of software


development ? Explain.
Ans> Major Phase in Spiral Model :-
(i) Planning: The first phase of the Spiral Model is the planning phase, where the
scope of the project is determined and a plan is created for the next iteration of the
spiral.
(ii) Risk Analysis: In the risk analysis phase, the risks associated with the project
are identified and evaluated.
(iii) Engineering: In the engineering phase, the software is developed based on the
requirements gathered in the previous iteration.
(iv) Evaluation: In the evaluation phase, the software is evaluated to determine if it
meets the customer’s requirements and if it is of high quality.

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

8. What is Sofware crisis ?


Ans> Software crisis is a term used in the early days of computing science for the
difficulty of writing useful and efficient computer programs in the required time. The
software crisis was due to the rapid increases in computer power and the
complexity of the problems that could not be tackled. With the increase in the
complexity of the software, many software problems arose because existing
methods were inadequate.

9. What do you mean by Regration Testing?


Ans> Regression testing is a black box testing techniques. It is used to authenticate
a code change in the software does not impact the existing functionality of the
product. Regression testing is making sure that the product works fine with new
functionality, bug fixes, or any change in the existing feature.

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.

11. What do you mean by organic, semi-detached and embedded


type projects?
Ans> (i) Organic – A software project is said to be an organic type if the team size
required is adequately small, the problem is well understood and has been solved in
the past and also the team members have a nominal experience regarding the
problem.

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.

12. Explain decision table with an example.


Ans> Decision Table: Decision Table is just a tabular representation of all
conditions and actions. Decision Table are always used whenever the processing
logic is very complicated and involves multiple conditions. The main components
used for the formation of the Data Table are Conditions Stubs, Action Stubs, and
rules. A simple example might be a lookup table containing a range of possible input
values and a function pointer to the section of code to process that input.

13. What are the advantages and disadvantages of decision table ?


Ans> Advanatge :-
(i) Visualization of Cause and effect relationships in the table.
(ii) Easy to understand.
(iii) Tables are formatted consistently.
(iv) In these tables, semi-standardized languages might be used.
Disadvantage :-
(i) The complete sequence of actions is not reflected in the decision tables.
(ii) A partial solution is presented.
(iii) Decision tables are not well suited to large-scale applications. There is a
requirement of splitting huge tables into smaller ones to eliminate redundancy.

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.

15. What do you mean by software configuration management?


Ans> Software Configuration Management (SCM) in software engineering refers
to the process of systematically managing and controlling changes to a software
system's components, including code, documentation, and related artifacts,
throughout its lifecycle. It ensures that everyone working on the project uses the
same, consistent versions of the software and related assets, maintaining integrity,
traceability, and accountability.

16. What is LOC ? What are the shortcomings of LOC?


Ans> LOC :- A line of code (LOC) is any line of text in a code that is not a comment
or blank line, and also header lines, in any case of the number of statements or
fragments of statements on the line. LOC clearly consists of all lines containing the
declaration of any variable, and executable and non-executable statements.
Shortcomings of LOC :-
(i) Very difficult to estimate the LOC of the final program from the problem
specification.
(ii) It correlates poorly with quality and efficiency of code.
(iii) It doesn’t consider complexity.

17. What is difference between function point and feature point


metric ?
Aspect Function Point (FP) Feature Point (FeP)

Definition Measures the functionality Extension of FP that also


of software based on user includes algorithmic
perspective. complexity.

Used For Business applications with Applications with


standard input/output and significant mathematical or
data files. algorithmic logic.

Complexity Consideration Limited to data-driven Includes both data and


complexity. algorithmic complexity.

When to Use Best for MIS and Best for scientific,


transaction-oriented engineering, or real-time
systems. systems.

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.

19. What is the difference between verification and validation?

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.

(iii) Verification is the Static testing. (iii) Validation is Dynamic testing.

(iv) It does not include the execution of (iv) It includes the execution of the code.
the code.

(v) It comes before validation. (v) It comes after verification.

20. What is Software Reliability ?


Ans> Software Reliability means Operational reliability. It is described as the ability of
a system or component to perform its required functions under static conditions for a
specific period.
Software reliability is also defined as the probability that a software system fulfills
its assigned task in a given environment for a predefined number of input cases,
assuming that the hardware and the input are free of error.

21. Write a Short note on ISO 9000 certification ?


Ans> It is defined as the quality assurance system in which quality components can
be organizational structure, responsibilities, procedures, processes, and resources
for implementing quality management. Quality assurance systems are created to
help organizations ensure their products and services satisfy customer expectations
by meeting their specifications.
Different types of ISO standards :
(i) ISO 9000: 2000 – ISO 9000: 2000: contains Quality management systems,
fundamentals, and vocabulary.

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.

22. Explain the different types of cohesion that a module might


exhibit?
Ans> (i) Functional Cohesion: Functional Cohesion is said to exist if the different
elements of a module, cooperate to achieve a single function.
(ii) Sequential Cohesion: An element outputs some data that becomes the input
for other element, i.e., data flow between the parts. It occurs naturally in functional
programming languages.
(iii) Communicational Cohesion: Two elements operate on the same input data
or contribute towards the same output data. Example- update record in the
database and send it to the printer.
(iv) Logical Cohesion: A module is said to be logically cohesive if all the elements
of the module perform a similar operation. For example Error handling, data input
and data output, etc.
(v) Coincidental Cohesion: A module is said to have coincidental cohesion if it
performs a set of tasks that are associated with each other very loosely, if at all.

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.

25. What is the difference between black-box and white-box


testing ?

Parameter Black Box Testing White Box Testing

Type of Testers Mostly, software testers do Mostly, hardware


this. developers do this.

Knowledge Required The user doesn’t require A user requires knowledge


knowledge regarding for implementation.
implementation.

Other Names we can also call it closed we can also call it clear
testing. box testing.

Time Consumed It consumes less time. It consumes more time.

Algorithm Testing It does not work well for It is completely suitable


algorithm testing. and preferable for
algorithm testing.

26. What is function point metric ?


Ans> Function point metric : A function point is a unit of measurement used to
quantify the amount of business functionality being delivered by a software
application. Function points allow software engineers to better measure the size of

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.

28. Explain spiral model with diagram ?


Ans> Spiral Model :- Spiral model is one of the most important Software
Development Life Cycle models, which provides support for Risk Handling. In its
diagrammatic representation, it looks like a spiral with many loops. The exact
number of loops of the spiral is unknown and can vary from project to project. Each
loop of the spiral is called a Phase of the software development process. The Spiral
Model is a risk-driven model, meaning that the focus is on managing risk through
multiple iterations of the software development process.
Diagram :

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.

30. What is DFD ?


Ans> Data Flow Diagram (DFD) is a graphical representation of data flow in any
system. It is capable of illustrating incoming data flow, outgoing data flow and store
data. Data flow diagram describes anything about how data flows through the
system.
Components or Symbols of Data Flow Diagram:
(i) Entities: Entities include source and destination of the data. Entities are
represented by rectangle with their corresponding names.
(ii) Process: The tasks performed on the data is known as process. Process is
represented by circle. Somewhere round edge rectangles are also used to represent
process.
(iii) Data Storage: Data storage includes the database of the system. It is
represented by rectangle with both smaller sides missing or in other words within two
parallel lines.
(iv) Data Flow: The movement of data in the system is known as data flow. It is
represented with the help of arrow. The tail of the arrow is source and the head of
the arrow is destination.

31. Explain white box testing and black box testing ?


Ans> White Box Testing : White Box Testing is a method of software testing in
which the user knows the internal design/ implementation/ structure of the tested
item.
Types of White box :- (i) Unit Testing, (ii) Integration Testing, (iii) Regression Testing.
Black Box Testing : Black Box Testing is a method of software testing in which a
tester does not know the internal design/ implementation/ structure of the tested
item.

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.

33. Difference between Unit Testing and System Testing ?

Basis for comparison Unit Testing System Testing

Basic Focuses on the functional Validates the system after


verification of the it is integrated in the larger
components. system.

Follows Modules specification. Requirement specification.

Visibility of the code Provided Not provided


details

Scaffolding Required No need of drivers/stub

Emphasis On the behaviour of the System functionalities.


single module.

34. What do you mean by risk in software development? Mention


some common risks associated with software development?
Ans> Risk : A "risk" is a problem that could cause some loss or threaten the
progress of the project, but which has not happened yet. These potential issues
might harm cost, schedule or technical success of the project and the quality of our
software device, or project team morale.
Some common risks associated with software development:
(i) Code issues: One significant risk involved with software development is poor
quality code. Projects may contain poor quality code because of rushed work and
many other factors.
(ii) Stakeholder issues: Another software development risk is stakeholder issues
like low engagement and inaccurate expectations.
(iii) Budget issues: Another software development risk is budget issues. Software
development budgets can change as project scopes change, but it's important to
monitor projects so that they don't go over budget.
Page | 11
(iv) Project team members leaving: Employee turnover, including key team
members leaving projects, is another significant risk in software development.
35. What is the need for SRS ?
Ans> Need for SRS :-
(i) Clarity and Alignment.
(ii) Communication Bridge.
(iii) Reduced Errors and Rework.
(iv) Improved Project Management.
(v) Client and Stakeholder Satisfaction.
(vi) Guidance for development teams.

36. What are the characteristics of SRS ?


Ans> Characteristics of SRS :
(i) Complete : The SRS should be complete i.e. all the software requirements
should be mentioned in the SRS.
(ii) Correct : It should be correct i.e. it should be according to the needs of the
customer.
(iii) Clear : It should be clear. The requirements of the software should be clearly
declared.
(iv) Accurate : It should have accuracy. If this is not accurate then the software
cannot be developed.
(v) Verifiable : It should be verifiable. The requirements are verified by experts and
testers.

37. What is SRS ? Explain functional and non-functional


requirements of the SRS ?
Ans> SRS :- A software requirements specification (SRS) is a document that
captures complete description about how the system is expected to perform. It is
usually signed off at the end of requirements engineering phase.
The SRS is a specification for a specific software product, program, or set of
applications that perform particular functions in a specific environment.
Functional requirement :- These are the requirements that the end user
specifically demands as basic facilities that the system should offer. All these
functionalities need to be necessarily incorporated into the system as a part of the
contract.
Non-functional requirement :- These are the quality constraints that the system
must satisfy according to the project contract. The priority or extent to which these
factors are implemented varies from one project to another. They are also called
non-behavioral requirements.
Page | 12
38. What is modular system ? What are the advantages of it ?
Ans> Modular system : Modular system is measured by how well software is
decomposed into smaller pieces with standardized interfaces. It is analogous to
modularity for hardware. We want to create products by combining reusable chunks
of code, so you only implement a feature or functionality once and then maximize
reuse.
Advantage :
(i) Allow each module to be written separately without having to know code of other
modules.
(ii) Faster development time due to parts being split up across team members and
problems handled in chunks.
(iii) Modules allow for greater flexibility of the overall program.

39. What is the difference between cohension and coupling ?

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.

(iv) Cohesion represents the relationship (iv) Coupling represents the


within a module. relationships between modules.

(v) Cohesion represents the functional (v) Coupling represents the


strength of modules. independence among modules.

40. What is Data Dictionary ?


Ans> Data Dictionary : A data dictionary is a structured repository of data elements
in the system. It stores the descriptions of all DFD data elements that is, details and
definitions of data flows, data stores, data stored in data stores, and the processes.

41. Explain Top-Down and Botton-up design ?


Ans> Top-Down Design Model: In the top-down model, an overview of the system
is formulated without going into detail for any part of it. Each part of it then refined
into more details, defining it in yet more details until the entire specification is

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.

42. Write down the difference between Functional and Object


oriented approach ?
Functional approach Object oriented approach

(i) Importance is not given to data but (i) Importance is given to data rather
to functions. than procedures.

(ii) It follows declarative programming (ii) It follows imperative programming


model. model.

(iii) It uses recursion for iteration. (iii) It uses loops for iteration.

(iv) It is parallel programming (iv) It does not support parallel


supported. programming.

(v) Does not have any access (v) Has three access specifiers
specifier. namely, Public, Private and Protected.

43. What is Software testing ?


Ans> Software testing is the process of validating and verifying that an application or
software is bug-free, meets the user specifications, meets the technical
requirements, has accurate development and design, and handles all the exceptional
cases.
44. Mention The different types of system testing ?
Ans> Types of System Testing :
(i) Functional Testing :- This checks if the system’s features work as expected and
meet the defined requirements.
(ii) Performance Testing :- This tests how the system performs under different
conditions, like high traffic or heavy use, to ensure it can handle the expected load.
(iii) Security Testing :- This ensures the system’s security measures protect
sensitive data from unauthorized access or attacks.
(iv) Usability Testing :- This evaluates how easy and user-friendly the system is,
making sure it provides a good experience for users.

Page | 14
(v) Regression Testing :- This ensures that any new code or features don’t break
or negatively affect the system’s existing functionality.

45. Write down the difference between Testing and Debugging ?


Aspects Testing Debugging
Definition Testing is the process to Debugging is the process
find bugs and errors. of correcting the bugs
found during testing.
Timing Testing is done before Debugging is done after
debugging. testing.
Team Involve Testing is done by the Debugging is done by
tester. either programmer or the
developer.
SDLC Testing is a stage of the Debugging is not an
software development life aspect of the software
cycle (SDLC). development life cycle, it
occurs as a consequence
of testing.
Methodology Testing is the display of Debugging is a deductive
errors. process.

46. Explain briefly discuss basic COCOMO model ?


Ans> COCOMO Model:- COCOMO model is a procedural cost estimate model
for Software Projects and is often used as a process of reliably predicting the
various parameters associated with making a project such as size, effort, cost,
time, and quality.The key parameters that define the quality of any Software
Product, which are also an outcome of COCOMO, are primarily effort and
schedule.
Types of COCOMO model : (i) Organic, (ii) Semi-detached, (iii) Embedded.

47. What is ER-diagram ? Discuss its usage in data modeling ?


Ans> ER-diagram : ER-modeling is a data modeling method used in software
engineering to produce a conceptual data model of an information system. Diagrams
created using this ERmodeling method are called Entity-Relationship Diagrams or
ER diagrams or ERDs.
Usages of Data modelling :
(i) Understand data requirements clearly.]
(ii) Design databases efficiently using models like ER diagrams.
(iii) Ensure data consistency and reduce redundancy.

Page | 15
(iv) Make communication between stakeholders easier.

48. Difference between DFD and ER-diagram ?

Feature DFD (Data Flow ER Diagram


Diagram)
Purpose Shows how data moves Shows how data is stored
through a system. and related in a database.
Focus Focuses on processes Focuses on entities,
and data flow. attributes, and
relationships.
Main Components Processes, data stores, Entities, attributes,
data flow, external entities. relationships.
Used For System analysis and Database design.
design.
Representation Style Flow of data shown with Relationships shown with
arrows. lines between entities.

49. Explain the role of Data Dictionary ?


Ans> Role of a Data Dictionary :
(i) Defines Data Clearly: It provides clear definitions and descriptions of each data
element (e.g., fields in a database), including data types, allowed values, default
values, and constraints.
(ii) Facilitates Communication: It helps bridge the gap between technical teams
(developers, DBAs) and non-technical stakeholders (business analysts, users) by
providing a shared understanding of data.
(iii) Improves Data Quality and Validation: By specifying valid data ranges and
formats, it helps enforce data integrity and validation rules.
(iv) Supports Database Design: The dictionary guides database schema design by
defining table structures, field types, keys, and relationships.

50. What is the importance of COCOMO model ?


Ans> (i) Cost Estimation: To help with resource planning and project budgeting,
COCOMO offers a methodical approach to software development cost estimation.
(ii) Project Planning: COCOMO assists in developing practical project plans that
include attainable objectives, due dates, and benchmarks.
(iii) Resource Optimization: The model helps to maximize the use of resources,
which raises productivity and lowers costs.

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

Approach Sequential. Repetitive cycles.

Flexibility Low (Changes are High (Adapts to changing


challenging). requirements).

Project Size Small to medium projects, Small to large projects,

Delivery Final product delivered at Delivers a working subset


the end. in each iteration.

Customer Involvement Limited after initial Encourages ongoing


requirements phase. customer involvement.

52. Write a short note on :


(i) Software configuration management : System Configuration Management
(SCM) is an arrangement of exercises which controls change by recognizing the
items for change, setting up connections between those things,
making/characterizing instruments for overseeing diverse variants, controlling the
changes being executed in the current framework, inspecting and revealing/reporting
on the changes made. It is essential to control the changes in light of the fact that if
the changes are not checked legitimately then they may wind up undermining a well-
run programming.

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

(iii) Quality Standards : It is defined as the quality assurance system in which


quality components can be organizational structure, responsibilities, procedures,
processes, and resources for implementing quality management. Quality
assurance systems are created to help organizations ensure their products and
services satisfy customer expectations by meeting their specifications.

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.

54. What do you mean by Structured Analysis?


Ans> Structured Analysis is a development method that allows the analyst to
understand the system and its activities in a logical way. It is a systematic approach,
which uses graphical tools that analyze and refine the objectives of an existing
system and develop a new system specification which can be easily understandable
by user.

55. Explain various tools of structured Analysis in details ?


Ans> During Structured Analysis, various tools and techniques are used for system
development. They are –
(i) Data Flow Diagrams : It is a technique developed by Larry Constantine to
express the requirements of system in a graphical form.
• It shows the flow of data between various functions of system and specifies how
the current system is implemented.
• Its graphical nature makes it a good communication tool between user and analyst
or analyst and system designer.
(ii) Data Dictionary : A data dictionary is a structured repository of data elements in
the system. It stores the descriptions of all DFD data elements that is, details and
definitions of data flows, data stores, data stored in data stores, and the processes.
(iii) Decision Trees : Decision trees are a method for defining complex relationships
by describing decisions and avoiding the problems in communication. A decision tree
is a diagram that shows alternative actions and conditions within horizontal tree
framework.
(iv) Decision Tables : Decision tables are a method of describing the complex
logical relationship in a precise manner which is easily understandable.
• It is a matrix containing row or columns for defining a problem and the actions.
(v) Structured English : Structure English is derived from structured programming
language which gives more understandable and precise description of process. It is
based on procedural logic that uses construction and imperative sentences designed
to perform operation for action.

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.

56. What is Alpha Testing ?


Ans> Alpha Testing is a type of software testing performed to identify bugs before
releasing the product to real users or the public. Alpha Testing is one of the User
acceptance tests . This is referred to as Alpha testing only because it is done early
on, near the end of the development of the software . Alpha testing is commonly
performed by homestead software engineers or quality assurance staff. It is the last
testing stage before the software is released into the real world.

57. What are the characteristics of a good test plan ?


Ans> Characteristics of a good test plan :
(i) A clear objective with refined scope.
(ii) Obvious and meaningful pass/fail verifications.
(iii) Clear and concise documentation.
(iv) Traceability to requirements.
(v) Reusability.

58. What is Feasibility Study ?


Ans> The Feasibility Study in Software Engineering is a study that analyze whether
a proposed software project is practical or not. It early detects the potential issues,
analyzes technological possibilities, and determines the project's financial and
operational viability. This decreases the chance of project failure that also save
time and money.

59. What is Use case Diagram ?


Ans> A use case diagram is a behavior diagram and visualizes the observable
interactions between actors and the system under development. The diagram
consists of the system, the related use cases, and actors and relates these to each
other:
(i) System : What is being described?
(ii) Actor: Who is using the system?
(iii) Use Case: What are the actors doing?

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.

61. What is COCOMO Model?


Ans> A COCOMO model stands for Constructive Cost Model. As with all estimation
models, it requires sizing information and accepts it in three forms: (i) Objects point,
(ii) Function points, and (iii) Lines of source code.

62. Distinguish between Alpha and Beta Testing?


Alpha Testing Beta Testing
(i) Alpha testing involves both white box (i) Beta testing commonly uses black-
and black box testing. box testing.
(ii) Alpha testing requires a testing (ii) Beta testing doesn’t require a testing
environment or a lab. environment or lab.
(iii) Alpha testing is performed at the (iiii) Beta testing is performed at the
developer’s site. end-users place.
(iv) Reliability and security testing are (iv) Reliability, security, and robustness
not checked in alpha testing. are checked during beta testing.
(v) Alpha testing may require a real-time (v) Beta testing requires only a few
long execution cycle. weeks of execution.

63. What is the Difference Between Quality Assurance and Quality


Control?
Quality Assurance (QA) Quality Control (QC)

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

64. What are CASE Tools?


Ans> CASE stands for Computer-Aided Software Engineering. CASE tools are a set
of automated software application programs, which are used to support, accelerate
and smoothen the SDLC activities. It is a software package that helps with the
design and deployment of information systems. It can record a database design and
be quite useful in ensuring design consistency.

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.

66. What is level-2 DFD ?


Ans> Level-2 DFD provides an even more detailed view of the system by breaking
down the sub-processes identified in the level 1 Data Flow Diagram (DFD) into
futher sub-Processes. This level is useful when dealing with specific
requirements or parts of the system that need a closer examination of their
processes and interactions.

67. What is Testing ? Explain types of testing ?


Ans> Testing :- Testing is a systematic process of evaluating a software application
or system to identify defects, ensure functionality, and verify that it meets
requirements. It's a crucial part of the software development lifecycle, aiming to
improve quality, reduce risks, and build user satisfaction.
Types of Testing :-
(i) Unit Testing: Testing individual components or units of code.
(ii) Integration Testing: Testing the interaction between different modules or
components.
(iii) System Testing: Testing the complete system as a whole.
(iv) Acceptance Testing: Testing by end-users or stakeholders to ensure the
software meets their needs.

68. What is Documentation ?


Ans> Documentation is the written record of a software project, encompassing
everything from design details to user guides. It's crucial for understanding how
software is built, used, and maintained, and plays a vital role in the software
development lifecycle (SDLC).

69. What is Software ?


Ans> Software is a set of programs (sequence of instructions) that allows the users
to perform a well-defined function or some specified task. Software is responsible for
directing all computer-related devices and instructing them regarding what and how
the task is to be performed.

70. What is Software Engineering? Why is software Engineering


required ?
Ans> Software Engineering is an engineering branch related to the evolution of
software product using well-defined scientific principles, techniques, and procedures.
The result of software engineering is an effective and reliable software product.
Software Engineering is required due to the following reasons:
(i) To manage Large software.
Page | 21
(ii) For more Scalability.
(iii) Cost Management.
(iv) For better quality Management.

71. What is Characteristics of a Good Software engineer?


Ans> The features that good software engineers should possess are as follows:
(i) Good technical knowledge of the project range (Domain knowledge).
(ii) Good programming abilities.
(iii) Good communication skills. These skills comprise of oral, written, and
interpersonal skills.
(iv) High motivation.
(v) Intelligence.

72. What is the Goal of Software Engineering ?


Ans> (i) User Satisfaction: It is the most important goal as all the stuff is for a
customer or user so we should be very focused on user satisfaction while developing
any software.
(ii) High reliability: This one tells us that we can not have any scope to have any
mistakes or bugs in our final product which is going to release at the user end.
(iii) Delivery on time: The delivery time matters while you develop software for your
client or customer.
(iv) Low Production Cost: As per the low production goals of software engineering
software that is cost-effective gets always the attention of users.

73. What is V-model ? Explain the phases of V-Model ?


Ans> V-Model :- The V-model is a type of SDLC model where process executes in a
sequential manner in V-shape. It is also known as Verification and Validation model. It is
based on the association of a testing phase for each corresponding development stage.
The V-Model is a linear and sequential model that consists of the following phases:
(i) Requirements Gathering and Analysis: The first phase of the V-Model is the
requirements gathering and analysis phase, where the customer’s requirements for
the software are gathered and analyzed to determine the scope of the project.
(ii) Design: In the design phase, the software architecture and design are
developed, including the high-level design and detailed design.
(iii) Implementation: In the implementation phase, the software is actually built
based on the design.
(iv) Testing: In the testing phase, the software is tested to ensure that it meets the
customer’s requirements and is of high quality.

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.

1. What is System Analysis? (page-1)

2. Discuss briefly five common factors(TELOS) of feasibility study?


(page-1)
3. What is classical waterfall model ? State why this model is
difficult to use in project development in recent times ? (page-1,2)
4. What is prototype ? (page-2)
5. What is the advantage of constructing a working prototype first
before developing actual model? (page-2)
6. What are the major phases in the spiral model of software
development ? Explain. (page-2)
7. Write down the difference between logical and physical DFD.
(page-3)
8. What is Sofware crisis ? (page-3)
9. What do you mean by Regration Testing? (page-3)
10. Describe the terms test case and test case criterion ? (page-3)
11. What do you mean by organic, semi-detached and embedded
type projects? (page-3,4)
12. Explain decision table with an example. (page- 4)
13. What are the advantages and disadvantages of decision table ?
(page – 4)
14. Write down the list of activities that project manager perform
during project planning ? (page – 4,5)
15. What do you mean by software configuration management?
(page-5)
Page | 23
16. What is LOC ? What are the shortcomings of LOC? (page-5)
17.What is difference between function point and feature point
metric ? (page-5)
18. What is Halstead’s software science ? (page- 6)
19. What is the difference between verification and validation?
(page-6)
20. What is Software Reliability ? (page-6)
21. Write a Short note on ISO 9000 certification ? (page -6,7)
22. Explain the different types of cohesion that a module might
exhibit? (page-7)
23. What is Coupling ? (page-7)
24. Describe the various levels or stages of software testing ? (page-8)
25. What is the difference between black-box and white-box testing ?
(page-8)
26. What is function point metric ?(page-8)
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 ? (page-9)
28. Explain spiral model with diagram ? (page-9)
29. Explain the different type of maintenance of classical waterfall
model? (page-10)
30. What is DFD ? (page-10)
31. Explain white box testing and black box testing ? (page-10)
32. List some advantage of waterfall model ? (page-11)
33. Difference between Unit Testing and System Testing ? (page-11)
34. What do you mean by risk in software development? Mention some
common risks associated with software development? (page- 11)
35. What is the need for SRS ? (page-12)
36. What are the characteristics of SRS ? (page-12)
37. What is SRS ? Explain functional and non-functional requirements
of the SRS ? (page-12)
38. What is modular system ? What are the advantages of it ? (page-13)
39. What is the difference between cohension and coupling ? (page-13)

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

You might also like