KEMBAR78
Software Engineering Part-I | PDF | Software Testing | Software Development Process
0% found this document useful (0 votes)
10 views6 pages

Software Engineering Part-I

The document covers key concepts in software engineering, including definitions of terms like economical feasibility, system analyst, and data dictionary. It discusses methodologies such as the Waterfall model and Prototype model, along with principles of software testing and the importance of requirement gathering. Additionally, it addresses cohesion types, validation and verification processes, and the significance of feasibility studies in project planning.

Uploaded by

samarthsupekar15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views6 pages

Software Engineering Part-I

The document covers key concepts in software engineering, including definitions of terms like economical feasibility, system analyst, and data dictionary. It discusses methodologies such as the Waterfall model and Prototype model, along with principles of software testing and the importance of requirement gathering. Additionally, it addresses cohesion types, validation and verification processes, and the significance of feasibility studies in project planning.

Uploaded by

samarthsupekar15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

SET NUMBER:-1 [Software Engineering]

Q1]
a) Economical Feasibility: This refers to the assessment of the cost-effectiveness of a
proposed project or system. It evaluates whether the expected benefits outweigh the costs
involved in development, maintenance, and implementation, ensuring that resources are
allocated efficiently.
b) System Analyst: A system analyst is a professional who analyzes and designs information
systems. They assess the needs of the users, identify problems, and propose solutions, often
acting as a bridge between the technical team and the stakeholders.
c) Data Dictionary: A data dictionary is a centralized repository of information about data. It
includes metadata that describes the structure, attributes, and relationships of data elements
within a database or information system, helping to standardize and manage data usage.
d) Advantages of Waterfall Model:
• Simplicity: The model is easy to understand and use, as it follows a linear approach.
• Structured Phases: Each phase has specific deliverables, making it easier to manage.
• Early Detection of Issues: Problems can be identified early in the design and
development phases.
• Clear Documentation: Documentation is produced at each phase, aiding future
maintenance.
• Defined Requirements: Requirements are established upfront, reducing the risk of
scope changes.
e) Entity: In database terminology, an entity is an object or concept about which data is
stored. It can be a physical object (like a car) or an abstract concept (like an event),
represented in a database by a table.
f) Unit Testing: Unit testing is a software testing method where individual components or
modules of a program are tested in isolation to ensure they work correctly. It focuses on
validating the smallest testable parts of an application, typically at the function or method
level.
g) Principles of Software Testing:
• Testing Shows the Presence of Defects: Testing can demonstrate that defects exist
but not that there are no defects.
• Exhaustive Testing is Impossible: It is not feasible to test all possible inputs and
conditions.
• Early Testing: Testing should start as early as possible in the development lifecycle.
• Defect Clustering: A small number of modules often contain most defects.
• Pesticide Paradox: Repeated tests will not find new defects; tests must be regularly
reviewed and updated.
• Testing is Context Dependent: The testing approach should vary based on the type of
application.
h) Open and Closed System:
• Open System: An open system interacts with its environment, exchanging
information, resources, or energy. It is adaptable and influenced by external factors
(e.g., ecosystems, businesses).
• Closed System: A closed system does not interact with its environment, operating
independently without external influences. It is self-contained (e.g., a sealed
container).
i) Prototype: A prototype is an early model or version of a product used to test concepts and
gather user feedback. It allows stakeholders to visualize and interact with the design before
final production, helping to refine requirements.
j) Module: A module is a self-contained unit of software that performs a specific function or
set of functions within a system. It can be developed, tested, and maintained independently,
facilitating modular programming and reusability.

Q5]
a) Prototype Model
The Prototype Model is a software development approach that emphasizes creating early
versions of a system (prototypes) to gather user feedback and refine requirements. In this
model, a prototype is built quickly, often focusing on the user interface and key functionalities.
Users interact with the prototype, providing insights that guide further development. This
iterative process allows for adjustments based on user needs, reducing the risk of
misalignment between the final product and user expectations. It's particularly useful in
scenarios where requirements are unclear or likely to evolve.
b) Structured Chart
A Structured Chart is a visual representation used in software design to depict the hierarchy
and relationships between different modules or components of a system. It illustrates how
data flows between modules and helps in understanding the overall system architecture. Each
module is represented with specific symbols, indicating its function, inputs, and outputs.
Structured Charts facilitate clear communication among team members and ensure a well-
organized code structure, making it easier to maintain and modify the software over time.
c) Requirement Gathering
Requirement Gathering is a critical phase in the software development lifecycle where
stakeholders, including users, clients, and developers, collaborate to identify and document
the needs and expectations for a software project. This process involves various techniques
such as interviews, surveys, workshops, and observation to capture both functional and non-
functional requirements. Effective requirement gathering helps in creating a clear project
scope, reducing misunderstandings, and ensuring that the final product meets user needs. It
lays the foundation for successful project planning and execution.

SET NUMBER:-2 [Software Engineering]


Q1]
a) What is a system?
A system is a collection of interrelated components that work together to achieve a specific
goal or purpose. It can be a physical system (like a computer or a machine) or an abstract
system (like an organization or a software application).
b) Define software.
Software is a set of instructions, data, or programs that tell a computer how to perform
specific tasks. It encompasses applications, operating systems, and system software, and
can be categorized into two main types: application software and system software.
c) Define RAD (Rapid Application Development).
RAD is a software development methodology that emphasizes quick development and
iteration of prototypes over rigorous planning and testing. It promotes user feedback and fast
delivery of functional components to meet user needs.
d) What is SRS (Software Requirements Specification)?
SRS is a document that clearly and precisely describes the intended functionality,
requirements, and constraints of a software system. It serves as a guideline for developers
and stakeholders throughout the software development lifecycle.
e) State the principles of Software Testing.
1. Testing shows the presence of defects, not their absence.
2. Exhaustive testing is impossible; focus on risk and critical areas.
3. Early testing leads to better quality.
4. Defects are clustered; focus on the most error-prone areas.
5. Contiguous testing should be done across all levels.
6. Testing is context-dependent; different projects require different approaches.
f) What is software reengineering?
Software reengineering is the process of analyzing and modifying an existing software system
to improve its performance, maintainability, or functionality without completely rewriting it.
This often involves code restructuring, reverse engineering, or updating system architecture.
g) State advantages of the Waterfall model.
1. Simplicity and ease of understanding: The linear approach is straightforward.
2. Structured approach: Each phase has specific deliverables and milestones.
3. Clear documentation: Documentation is produced at each stage, facilitating
communication.
4. Easier management: Progress is easier to measure, and timelines can be estimated
more accurately.
h) State any two types of coupling.
1. Data coupling: Modules share data only through parameters, minimizing
dependencies.
2. Control coupling: One module controls the behavior of another by passing control
information (flags or codes).
i) Define an Entity.
In database terminology, an entity is an object or thing in the real world that is distinguishable
from other objects. Entities have attributes and are typically represented as tables in a
database.
j) What is Pseudocode?
Pseudocode is an informal, high-level description of an algorithm that uses the structural
conventions of programming languages but is written in a human-readable format. It is used to
outline logic without worrying about syntax, making it easier to understand and communicate
algorithms.

Q5]
a) Types of Cohesion
Cohesion refers to how closely related and focused the responsibilities of a single module are.
Higher cohesion within modules is generally desirable. The main types of cohesion include:
1. Functional Cohesion: All elements contribute to a single, well-defined task. This is
the highest level of cohesion.
2. Sequential Cohesion: Components are related in a sequence, where the output of
one element serves as the input to another.
3. Communicational Cohesion: Elements operate on the same data set or input, but the
tasks may not be directly related.
4. Procedural Cohesion: Elements are grouped because they always follow a specific
sequence of execution.
5. Temporal Cohesion: Elements are grouped by when they are executed, often during
the same phase of execution.
6. Logical Cohesion: Elements are grouped because they perform similar activities, but
may be different in execution.
7. Coincidental Cohesion: Elements are grouped arbitrarily; there is no meaningful
relationship between them. This is the lowest form of cohesion.
b) Validation and Verification Testing
Validation and verification are two essential processes in software testing that ensure a
product meets requirements and fulfills its intended purpose.
• Verification: This process checks if the software meets specified requirements during
development. It answers the question, “Are we building the product right?” Verification
typically involves reviews, inspections, and testing against specifications.
• Validation: This process assesses whether the software meets the needs of the user
and fulfills its intended use. It answers, “Are we building the right product?” Validation
often involves user acceptance testing and field trials to ensure the product aligns with
user expectations.
Both processes are crucial for delivering a high-quality software product.
c) Feasibility Study
A feasibility study is an analysis conducted to determine the viability of a project or system
before it is fully developed. It assesses various aspects:
1. Technical Feasibility: Examines whether the technology needed for the project is
available and practical.
2. Economic Feasibility: Evaluates the financial implications, including cost-benefit
analysis to determine if the project is financially viable.
3. Operational Feasibility: Looks at whether the organization can support and sustain
the project operationally after its implementation.
4. Legal Feasibility: Assesses any legal requirements and constraints that may affect the
project.
The outcome of a feasibility study guides decision-makers in proceeding with the project,
ensuring that resources are allocated effectively and risks are minimized.

You might also like