Software Engineering (Pre-Sem)
Software Engineering (Pre-Sem)
Software Engineering (Pre-Sem)
3) What is software ?
Ans: Software refers to a collection of programs, data, and instructions that tell a computer how
to perform specific tasks. It can be categorized into system software (like operating systems)
and application software (like word processors).
4) What is a prototype ?
Ans: A prototype is an early model or version of a product used to test concepts, design, and
functionality. It allows stakeholders to visualize and interact with the application before full-scale
development.
5) What is SRS ?
Ans: SRS (Software Requirements Specification) is a detailed document that outlines the
requirements for a software system. It describes the functionality, performance, constraints, and
interfaces, serving as a foundation for design and development.
6) What is System ?
Ans: A system is a set of interrelated components or elements that work together to achieve a
common goal. In computing, it often refers to a combination of hardware and software that
performs a specific function.
Q.2 Attempt any Two of the following:
1. Open Systems: These interact with their environment, exchanging information, energy, or
material. Example: Ecosystems, organizations.
2. Closed Systems: These do not interact with their environment. They operate in isolation.
Example: A sealed computer program.
3. Physical Systems: Composed of tangible components that can be observed and measured.
Example: A manufacturing plant.
4. Abstract Systems: These consist of non-tangible elements, often based on concepts or
theories. Example: Mathematical models.
5. Dynamic Systems: Systems that change over time due to external or internal influences.
Example: Weather systems.
6. Static Systems: Systems that do not change over time. Example: A simple database that
remains unchanged until updated.
7. Real-Time Systems: Systems that require immediate processing and response. Example: Air
traffic control systems.
8. Information Systems: Systems that manage, process, and store data. Example: Management
Information Systems (MIS).
1. Phases:
• Planning: Define objectives, identify constraints, and develop initial requirements.
• Risk Analysis: Evaluate risks, identify potential problems, and develop strategies to mitigate
them.
• Engineering: Develop and test the software incrementally based on requirements defined in
the planning phase.
• Evaluation: Review the results, gather feedback, and refine requirements for the next iteration.
2. Iterative Nature: The model repeats the phases in a spiral until the project is completed. Each
iteration refines and improves the product based on stakeholder feedback.
3. Risk Management: Emphasizes identifying and addressing risks early in the development
process, making it suitable for large and complex projects.
4. Prototyping: Often incorporates prototypes in risk assessment to validate concepts before full
implementation.
5. Customer Involvement: Continuous involvement of stakeholders ensures the product meets
user needs.
3. Explain elements of Data flow diagrams ?
Ans: Data Flow Diagrams (DFDs) are used to represent the flow of data within a system. They
help visualize how data moves between processes, data stores, and external entities. The main
elements of DFDs include:
1. Processes : Represented by circles or ovals, these indicate actions that transform data. Each
process should have a unique identifier.
2. Data Flows : Shown as arrows, these indicate the direction of data movement between
processes, data stores, and external entities. Labels on the arrows describe the data being
transferred.
3. Data Stores : Depicted as open rectangles, these represent storage locations for data within
the system, such as databases or files.
4. External Entities : Represented by squares or rectangles, these are sources or destinations of
data outside the system. They interact with the system but are not controlled by it.
1. Draw decision tree for the following case: A company gives discount on the purchase of
goods depending on sale and duration of payment:
a) 5% discount if order amount > 50,000.
b) 3% discount if order amount between 25,000 and 50,000.
c) No discount if order amount <10,000 or payment is not done within 8 days.
1. Clarity and Structure: Decision tables provide a clear and organized way to represent
complex decision logic, making it easier for stakeholders to understand the conditions and
actions involved.
2. Comprehensive Coverage: They help ensure that all possible combinations of conditions are
considered, reducing the risk of overlooking important scenarios.
3. Facilitates Communication: Decision tables serve as a common reference point for
discussions among team members, developers, and stakeholders, promoting better
collaboration and understanding.
4. Error Reduction: By clearly outlining conditions and corresponding actions, decision tables
help minimize errors in decision-making processes, especially in complex systems.
5. Documentation: They serve as valuable documentation for business rules, making it easier to
maintain and update processes as requirements evolve.
6. Automation and Testing: Decision tables can be used to automate decision-making in
systems or to design test cases, ensuring all scenarios are tested systematically.
Q.4 Attempt any Two of the following:
1. Planning : Identifying the project scope, objectives, resources, and timeline. Feasibility
studies and risk analysis are conducted.
2. Requirements Gathering and Analysis : Collecting functional and non-functional requirements
from stakeholders to understand what the software must accomplish.
3. Design : Creating architecture and design specifications, including system architecture, user
interfaces, and data structures.
4. Implementation (Coding) : Writing the actual code based on the design specifications. This
phase involves integrating different modules.
5. Testing: Verifying that the software works as intended. Different types of testing (unit,
integration, system, acceptance) are performed to identify and fix bugs.
6. Deployment: Releasing the software to users. This may involve installation and configuration
in a production environment.
7. Maintenance: Providing ongoing support, fixing bugs, and updating the software as needed.
This phase ensures the software remains relevant and functional over time.
2. Explain : Prototyping Model.
Ans: The Prototyping Model is a software development approach that focuses on creating
prototypes — initial versions of the software — to visualize and refine requirements before the
final product is built. This model is particularly useful when requirements are not well understood
or are likely to change.
• Key Features :
1. Prototype Creation : An initial model is built based on initial requirements, allowing users to
interact with it.
2. User Feedback : Users provide feedback on the prototype, which helps refine requirements
and functionalities.
3. Iterative Development : The prototype is revised and enhanced through several iterations
until it meets user expectations.
4. Final Development : Once the prototype is validated, it is transformed into the final product.
• Advantages :
1. Improved user involvement and satisfaction.
2. Early identification of requirements and issues.
3. Enhanced clarity and precision of specifications.
• Disadvantages :
1. Can lead to scope creep if user expectations are not managed.
2. May result in inadequate documentation.
3. Prototyping can be time-consuming and costly if not managed properly.
• Types of Modules:
1. Functional Modules : These are designed to perform specific tasks or functions within the
software. For example, a payment processing module in an e-commerce application.
2. Data Modules : These handle data management tasks such as database connections, data
retrieval, and manipulation. An example is a data access module.
3. UI Modules : Focused on the user interface, these modules manage the presentation layer of
the application. They define how users interact with the software.
4. Integration Modules : These facilitate communication between different software systems or
components. For example, an API integration module that connects to external services.
5. Utility Modules : These provide common functionalities that can be reused across different
parts of the application, such as logging or error handling modules.
Q.5 Write a note on any One of the following.
• Verification Testing : Verification Testing, on the other hand, checks whether the product was
built correctly according to specifications. It addresses the question, "Are we building the
product right?" Verification activities, including reviews and static analysis, are performed
throughout the development lifecycle to ensure that the software meets the defined
requirements and standards.
2. Feasibility study.
Ans: A Feasibility Study is an analysis that assesses the practicality and viability of a proposed
project or system. It involves evaluating various aspects, including:
• Technical Feasibility : Determines whether the technology required for the project is available
and can be effectively implemented.
• Economic Feasibility : Analyzes the cost-benefit ratio, ensuring that the project is financially
viable and justifiable.
• Operational Feasibility : Examines whether the organization can support the project
operationally and if it aligns with existing processes.
• Legal and Ethical Feasibility: Assesses compliance with laws, regulations, and ethical
standards.