Software Engineering (Pre-Sem)

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Q.

1 Attempt any four of the following:

1) State advantages of waterfall model ?


Ans:
1. Simplicity: The linear approach is easy to understand and manage.
2. Clear Structure: Each phase has specific deliverables and a review process.
3. Early Planning: Requirements are defined early, reducing the risk of scope changes.
4. Documentation : Emphasizes comprehensive documentation, which aids in future
maintenance.

2) Define a data dictionary.


Ans: A data dictionary is a centralized repository of information about data, including definitions,
formats, relationships, and usage within a system. It serves as a reference for developers and
users to understand the data structures.

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) Explain various types of systems.


Ans: Systems can be categorized based on different criteria. Here are some common types:

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

2. Explain spiral model in detail.


Ans: The Spiral Model is a software development process that emphasizes iterative progress
and risk management. It combines elements of both the waterfall model and iterative
development, making it particularly suitable for complex and high-risk projects. It emphasizes
risk management and involves the following key components :

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.

Q.3 Attempt any Two of the following:

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.

2. Draw ER-Diagram for "College Admission System".


3. What is a Decision Table? Explain Need of Decision table.
Ans: A Decision Table is a structured representation used to model complex decision-making
processes. It outlines various conditions and the corresponding actions that should be taken
based on those conditions.

The table consists of four main components :


• Conditions: These are the specific criteria or inputs that affect decision-making.
• Actions: These are the outputs or decisions that result from the evaluation of the conditions.
• Rules: Each row of the table represents a unique combination of conditions and the resulting
action.
• Decision Logic: This is the rationale that connects the conditions to the actions, often captured
in the rules.

• Need for Decision Tables :

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. What is SDLC? Describe its phases?


Ans: The Software Development Life Cycle (SDLC) is a systematic process used to develop
software applications. It outlines the stages involved in the software development process,
ensuring a structured approach that enhances quality and efficiency. The main goal of SDLC is
to produce high-quality software that meets or exceeds customer expectations within a defined
timeline and budget. The typical phases of SDLC include :

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.

3. Define module. Explain types of modules.


Ans: A module is a self-contained component of a software system that encapsulates a specific
functionality or a set of related functions. Modules promote modularity, making the software
easier to manage, develop, and maintain.

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

1. Validation and Verification Testing.


Ans:
• Validation Testing : Validation Testing ensures that a system meets the needs and
requirements of the end-users. It answers the question, "Are we building the right product?"
Validation is typically conducted at the end of the development process and involves testing the
software in real-world scenarios to confirm that it performs as expected.

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

You might also like