0% found this document useful (0 votes)
43 views

Software Engineering (Imp-Questions)

Uploaded by

ak68310890
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Software Engineering (Imp-Questions)

Uploaded by

ak68310890
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Q1) Attempt any EIGHT of the following.

[2×8=16]

a) What is system ?
Ans: A system is a set of interrelated components or elements working together toward a
common goal. It involves inputs, processes, outputs, and feedback, which help maintain the
system's function.

b) Define software ?
Ans: Software refers to a collection of programs, data, and instructions that tell a computer how
to perform specific tasks. It is divided into system software (like operating systems) and
application software (like word processors).

c) Define RAD.
Ans: RAD (Rapid Application Development) is a software development methodology that
emphasizes an extremely short development cycle. It is a type of incremental model where the
components or functions are developed in parallel, with prototypes being used to refine
requirements.

d) What is SRS ?
Ans: SRS (Software Requirements Specification) is a document that provides a detailed
description of the software system to be developed. It outlines functional and non-functional
requirements, system behavior, and any constraints to ensure that developers meet
stakeholders' needs.

e) State the principles of Software Testing ?


Ans:
• Testing shows the presence of defects, not their absence.
• Exhaustive testing is impossible, so prioritization is important.
• Early testing saves time and costs.
• Defects tend to cluster, so focusing on critical areas is effective.
• Testing should be independent of development.

f) What is software Reengineering ?


Ans: Software reengineering involves analyzing and modifying existing software systems to
improve them or make them adaptable to new environments. This may involve code
restructuring, platform migration, or documentation updates.

g) State advantages of Waterfall model.


Ans:
• Simple and easy to understand.
• Clear structure with defined stages.
• Easy to manage due to its rigid structure.
• Well-suited for smaller projects with well-understood requirements.
h) State any two types of coupling.
Ans:
• Data Coupling : When modules share data through parameters, but each module has its own
internal implementation.
• Control Coupling : When one module controls the behavior of another by passing control
information.

i) Define an Entity.
Ans: An entity is a distinct object or concept within a system that has a set of attributes. For
example, in a database, an entity could represent an object like "Customer," which has
attributes such as "Name," "Address," and "Phone number.”

j) What is a system Analyst ?


Ans: A System Analyst is a professional who analyzes and designs information systems. They
work to understand business problems, define system requirements, and ensure that the
technical solution meets business needs.

k) Define data dictionary.


Ans: A data dictionary is a centralized repository that contains definitions of data elements,
structures, and relationships in a system. It helps in managing data and ensures consistency
across the system.

l) Define unit testing.


Ans: Unit testing is the process of testing individual components (units) of a software application
to verify that each part functions correctly in isolation before integrating with other parts of the
system.

m) Define open and closed systems.


Ans:
• Open System : A system that interacts with its environment and exchanges information,
energy, or matter with it.
• Closed System : A system that does not interact with its environment or exchange information,
energy, or matter outside the system.

n) What is a prototype ?
Ans: A prototype is an early sample or model of a product or system built to test concepts,
features, or designs. It is used to gather feedback and refine the system's requirements before
full-scale development.

o) What is a feasibility study ?


Ans: A feasibility study is an assessment conducted to determine the viability of a proposed
project. It evaluates the technical, operational, and financial aspects of the project to determine
if it is practical and worth pursuing.
Q2) Attempt any FOUR of the following: [4×4=16]

a) Draw first level DFD for Online Food order system.


Ans: Food Ordering System is actually a type of software that allows the manager of restaurants
to manage and accept the placed orders over the Internet or in the restaurant. Let us
understand the working of the food ordering system by using DFD (Data Flow Diagram).
• First level DFD for the Online Food Ordering System is shown below.
1. Level 1 DFD :– For processing the order, process 1.0 is responsible. For food, the
housekeeping activities involved are represented by processes 2.0, 3.0, and 4.0. The detailed
information about daily sold items should be available to create and report management and the
list of items that are available ‘in-stock’ should be kept by maintaining the inventory data
(describes the records of datasets such as their name, their content, source, many useful
information, etc.) at the same time.
Hence, two data stores are used in this level of DFD given below :
• Database of Sold items
• Inventory database

In the end, with the use of the amount of daily sold items and daily inventory depletion, it is easy
to prepare a report of management. Further, the restaurant manager gets this report of
management.
b) Define software process and software product. Distinguish between them.
Ans:
• Software Process : A software process is a structured set of activities and tasks that are
followed to develop and maintain software systems. It includes the steps involved in the
software development life cycle (SDLC), such as requirement gathering, design, coding, testing,
deployment, and maintenance. A software process outlines the procedures, methodologies, and
practices that guide the development of software from concept to delivery.

• Software Product : A software product refers to the actual output or result of the software
development process. It is a software system that is developed to fulfill specific requirements
and is ready for use. It can be a desktop application, a web application, a mobile app, or any
other type of software that provides specific functionality for its users.

• Distinction Between Software Process and Software Product :


Points Software Process Software Product

1. Definition The series of activities, tasks, and The tangible result (software) that is
steps followed to develop software. produced from the process.

2. Nature Abstract, procedural, and related to Concrete, functional, and refers to


the methods used for development. the end product delivered to users.

3. Focus Focuses on how the software is Focuses on what is being delivered


developed and maintained. to the users (the actual software).

4. Lifecycle Involves multiple stages like Is the final outcome after the process
planning, design, coding, testing, is completed.
and maintenance.

5. Measure of Measured by how efficiently and Measured by its functionality, user


Success effectively the software development satisfaction, and quality.
is managed.

6. Example Waterfall model, Agile methodology, Web application, mobile app,


Scrum. desktop software.
c) What is SDLC? Describe its phases?
Ans: The Software Development Life Cycle (SDLC) is a structured process used by software
developers to design, develop, test, deploy, and maintain software applications. It outlines the
stages involved in creating software and provides a systematic approach to software
development, ensuring quality, efficiency, and accountability.

• Phases of SDLC :

1. Requirement Gathering and Analysis :


• Objective : Identify and document the software requirements from stakeholders.
• Activities : This phase involves meeting with clients, end users, and stakeholders to
understand the needs, business goals, and expectations. Detailed requirement specifications
are created.
2. System Design :
• Objective : Define how the software will be structured and designed to meet the requirements.
• Activities : Software architects and designers create high-level system designs, including the
overall architecture, database design, user interface design, and system components.
3. Implementation (Coding) :
• Objective : Translate the design into executable software by writing the code.
• Activities : Developers begin coding according to the design specifications, using appropriate
programming languages and tools. Coding standards and guidelines are followed.
4. Testing :
• Objective : Identify defects and ensure that the software works as expected.
• Activities : Software testers conduct different levels of testing (unit testing, integration testing,
system testing, acceptance testing) to find and fix bugs, verify functionality, and check for
performance issues.
5. Deployment :
• Objective : Make the software available to end users.
• Activities : The software is deployed to a production environment where it can be accessed by
users. This may include installation, configuration, and deployment in a live setting.
6. Maintenance :
• Objective : Address issues that arise after the software is in use and make updates as
necessary.
• Activities : Post-deployment support includes fixing any issues that were not identified earlier,
making updates based on user feedback, and ensuring the software remains compatible with
new technologies and platforms.
d) Discuss different fact finding techniques.
Ans: Fact-finding techniques are methods used to gather information, understand user needs,
and clarify system requirements during the early stages of a software development project.
These techniques help analysts collect accurate data from stakeholders and other sources to
ensure the software meets the intended goals.

• Here are some common fact-finding techniques :

1. Interviews : Interviews involve direct communication between the systems analyst and
stakeholders, such as users, managers, and other relevant parties. This technique can be
structured (with a fixed set of questions) or unstructured (open-ended questions).
2. Surveys/Questionnaires : Surveys and questionnaires involve distributing a set of questions
to a large group of users or stakeholders to gather standardized data. This technique is often
used for quantitative data collection.
3. Observation : Observation involves watching how users interact with the current system or
perform tasks in their work environment. The analyst may observe directly or use tools like
screen recording.
4. Document Review : Reviewing existing documentation, such as system manuals, user
guides, reports, or requirement documents, helps analysts understand the current system and
its processes.
5. Brainstorming : Brainstorming involves gathering a group of stakeholders to generate ideas
and solutions. The aim is to collect as many ideas as possible in a short period, without
judgment or critique at first.
6. Workshops : Workshops bring together users, stakeholders, and experts to discuss
requirements and issues. These interactive sessions are typically focused on specific topics,
such as system features or process improvements.
7. Focus Groups : Focus groups involve a small group of users or stakeholders discussing
specific issues, needs, or feedback regarding the system. A moderator guides the discussion.
8. Prototyping : Prototyping involves creating a working model (prototype) of the system to
gather user feedback on its features and functionality. Users interact with the prototype, which is
then refined based on their input.
e) Define software maintenance. Explain types of software maintenance.
Ans: Software maintenance is the process of modifying and updating software applications after
their initial deployment to correct issues, improve performance, or adapt to changes in the
environment, user needs, or hardware. It is a crucial phase in the software development life
cycle (SDLC) because software often requires ongoing support and enhancement to remain
functional, secure, and relevant.
• Types of Software Maintenance :
1. Corrective Maintenance : Focuses on fixing bugs, errors, or defects found in the software
after it has been released.
2. Adaptive Maintenance : Involves modifying the software to keep it compatible with changes in
the software environment, such as updates to operating systems, hardware, or external
services.
3. Perfective Maintenance : Enhances the software to meet the evolving needs of users or to
improve performance and efficiency.
4. Preventive Maintenance : Aims at improving the software's maintainability by making the
code more modular, removing redundancy, or refactoring parts of the system to prevent future
problems.

f) Explain various types of systems.


Ans: A system refers to a set of interconnected components that work together to achieve a
common goal. Systems can vary based on their purpose, complexity, and functionality. Below
are various types of systems based on different classifications :

1. Physical vs. Abstract Systems :


• Physical Systems : Tangible, with physical components. Example; Car, computer.
• Abstract Systems : Intangible, conceptual or software-based. Example; Financial systems,
software applications.
2. Open vs. Closed Systems :
• Open Systems : Exchange energy, matter, or information with the environment. Example;
Ecosystem, business organization.
• Closed Systems : Do not interact with the environment. Example; Sealed pressure chamber.
3. Natural vs. Man-Made Systems :
• Natural Systems : Occur naturally, not created by humans. Example; Weather, ecosystem.
• Man-Made Systems : Designed by humans for specific purposes. Example; Transportation
network, factories.
4. Simple vs. Complex Systems :
• Simple Systems : Few components and simple interactions. Example; Thermostat, light circuit.
• Complex Systems : Many interconnected components and intricate interactions. Example;
Human brain, transportation networks.
5. Hardware vs. Software Systems :
• Hardware Systems : Physical devices or machinery. Example; Computer, smartphones.
• Software Systems : Programs or applications. Example; Operating systems, mobile apps.
g) Explain spiral model in detail.
Ans: The Spiral Model is a software development process model that combines elements of
both iterative and incremental development. It was introduced by Barry Boehm in 1986 and
focuses on risk management through repeated cycles or "spirals." This model is particularly
suited for large, complex, and high-risk projects, where requirements may evolve or are not fully
understood at the start.

• Phases in the Spiral Model :

1. Planning Phase :
• Define the objectives, requirements, and constraints of the project.
• Initial planning, setting milestones, and establishing project timelines.
• Identify deliverables for the current cycle.
2. Risk Analysis Phase :
• Identify, analyze, and prioritize risks that could impact the project.
• Develop risk mitigation strategies and evaluate alternatives to handle potential challenges.
• Prototypes or simulations may be used to assess uncertainties.
3. Engineering Phase :
• Design and develop the software incrementally.
• This includes coding, testing, and integration.
• Prototypes and working models of the software are created and tested during each spiral.
4. Evaluation and Customer Feedback Phase :
• The developed product is presented to the customer or stakeholders for evaluation.
• Customer feedback is collected to determine if the product meets expectations.
• Based on feedback, plans are made for the next iteration, which may involve revisiting
planning, risk analysis, or engineering phases.

Q3) Attempt any FOUR of the following: [4×4=16]

a) Draw decision table for the following case. A company gives discount
on the purchase of goods depending on the sales and duration of payment.
i) 5% discount if order amount > 50,000.
ii) 3% discount if the order amounts between 25,000 and 50,000.
iii) No discount if order < 10,000 or payment is not done within 8 days.

b) Draw decision tree for the following case:


A company gives discount on the purchase of goods depending on the
sale and duration of payment :
i) 5% discount if order amount > 50,000.
ii) 3% discount if order amount between 25,000 and 50,000
iii) No discount if order amount < 10,000 or payment is not done within 8 days.

c) Draw ER-Diagram for “Hospital Management System”.


d) Draw ER-Diagram for “College Admission System”.
Ans:

e) Design an screen layout for employees salary slip.


Ans:
f) Define module. Explain types of modules.
Ans: In the context of programming, a module refers to a file or a collection of related functions,
classes, or variables that are grouped together to perform a specific task. It allows code to be
organized and reused, making programs more manageable and modular. A module in most
programming languages is a self-contained piece of code that can be imported into other
programs to be used.

• Types of Modules :

1. Built-in Modules : These are modules that are included with the programming language by
default. They provide basic functionality like file handling, math operations, system operations,
etc. These modules are readily available to the programmer without needing to be separately
installed or created.
2. User-defined Modules : These are modules created by the programmer to organize their own
code into logical units. By creating custom modules, developers can enhance code reusability,
readability, and maintenance. For example, a user might write a module to handle database
connections or mathematical calculations. A user-defined module is typically saved as a .py file.

g) What is a Decision Table ? Need of Decision table.


Ans: A Decision Table is a tabular method used for representing and analyzing complex
decision-making situations. It is a structured way to visualize different conditions (or inputs) and
the corresponding actions (or outputs) based on those conditions. Decision tables are
particularly useful when there are multiple conditions that result in different outcomes, and it is
important to consider all possible combinations of conditions.

• Need of Decision Table :

1. Clarity and Organization : A decision table clearly lays out the different conditions and
corresponding actions, making it easier to understand the decision-making process.
2. Systematic Decision Making : It helps to systematically cover all possible combinations of
conditions and avoid overlooking any case, ensuring comprehensive decision-making.
3. Handling Complex Scenarios : In cases with multiple conditions influencing the outcome, a
decision table helps to manage complexity by organizing information in a structured manner.
4. Improved Accuracy : By listing all possible combinations of conditions and associated actions,
decision tables help in reducing errors in decision-making that may arise from missing or
misinterpreting conditions.
5. Facilitating Communication : Decision tables serve as a useful tool for communicating
decision rules to other stakeholders (like team members, clients, or business analysts), as they
present the rules in a clear, visual format.
6. Automating Decision Processes : Decision tables are often used in computer programming
and automation to implement business rules. By translating the decision table into code,
systems can automatically make decisions based on the given conditions.
h) Explain elements of Data flow diagrams ?
Ans: A Data Flow Diagram (DFD) is a graphical representation of the flow of data in a system. It
shows how data enters, processes, and leaves a system, and how different entities, processes,
and data stores interact with each other. DFDs are widely used in system analysis and design to
represent the system's functionality and data flow in a clear and understandable way.

• The main elements of a DFD are as follows:

1. Processes : Represent activities that transform input data into output. It is shown as circles or
rounded rectangles. Example: "Process Order."
2. Data Flows : Indicate the movement of data between processes, data stores, and external
entities. It is represented by arrows. Example: "Customer Details."
3. Data Stores : Represent repositories where data is stored for later use. It is shown as open
rectangles (or two parallel lines). Example: "Customer Database."
4. External Entities (Actors) : Represent sources or destinations of data outside the system. It is
shown as rectangles. Example: "Customer" or "Supplier.”

Q4) Attempt any Four of the following. [4×4=16]

a) Identify all entities of the online shopping system.


Ans:
1. Customer : The individual who browses the online store, adds items to their cart, and makes
purchases. The customer has attributes like name, email, address, phone number, and payment
information.
2. Product : The items available for purchase in the online store. Products have attributes such
as product ID, name, description, price, category, stock quantity, and images.
3. Shopping Cart : A virtual container that holds products selected by a customer before they
proceed to checkout. It includes the customer ID, product IDs, quantities, and total price.
4. Order : A record of a customer's purchase, which includes details like order ID, customer ID,
order date, shipping address, and payment method. It also tracks the status (pending, shipped,
delivered).
5. Payment : The transaction for completing the purchase, which includes payment method
(credit card, PayPal, etc.), amount, and payment status (successful, failed, pending).
6. Shipping : Details related to the delivery of purchased items, such as shipping address,
shipping method, tracking number, and status (pending, shipped, delivered).
7. Review/Rating : Feedback from customers about products or services. It includes attributes
like review ID, product ID, customer ID, rating (usually from 1 to 5 stars), and review text.
8. Category : A classification or grouping of products. For example, electronics, clothing, books,
etc. It helps organize the product catalog and makes it easier for customers to find items.
b) Explain elements of Data flow diagrams?
Ans: A Data Flow Diagram (DFD) is a visual representation of how data flows through a system
and how it is processed. It is used to illustrate the flow of data between different processes, data
stores, and external entities. The DFD helps in understanding how information moves within a
system and how the system interacts with external components.
• The key elements of a Data Flow Diagram are :
1. Processes :
• Represented by circles or ovals.
• A process is a transformation or action that occurs within the system, where data is processed
or manipulated.
• Processes typically take input data, perform some operation, and produce output data.
2. Data Flows :
• Represented by arrows.
• A data flow indicates the movement of data between processes, data stores, and external
entities.
• Data flows are labeled to specify what kind of data is being transferred (e.g., "Customer Info,"
"Order Details").
3. Data Stores :
• Represented by open-ended rectangles or horizontal lines.
• A data store is a repository where data is stored for later use by the system.
• It could represent databases, files, or any other form of data storage within the system.
4. External Entities :
• Represented by rectangles or squares.
• External entities are outside the system, such as users, customers, or other systems that
interact with the system being modeled.
• These entities provide input data to the system or receive output data from the system.

c) What is a Data Flow Diagram ? Explain its Advantages & Disadvantages.


Ans:
• Definition : A Data Flow Diagram (DFD) is a graphical tool used to represent the flow of data
within a system, showing how input data is processed and transformed into outputs.
• Advantages of a DFD :
1. Simplifies Complex Systems : Makes it easier to understand data flow.
2. Improves Communication : Bridges the gap between technical and non-technical
stakeholders.
3. Identifies Data Requirements : Clarifies the data needed for each process.
4. Assists in Design and Analysis : Helps in system analysis and optimization.
5. User-Friendly : Easy to understand for various audiences.
• Disadvantages of a DFD :
1. Limited Detail : Does not show internal process logic.
2. Over-Simplification : Can miss critical details of complex systems.
3. Complex in Large Systems : Becomes difficult to manage with large systems.
4. Ambiguity : Can lead to unclear representations if not defined properly.
5. No Temporal View : Doesn’t show sequence or timing of events.
d) Differentiate between forward and reverse engineering.
Ans:
1. Definition :
• Forward Engineering : The process of designing and building a system from scratch, starting
with requirements and then moving through stages like design, coding, testing, and deployment.
• Reverse Engineering : The process of analyzing an existing system or software to understand
its components, functionality, or design, often to recreate it or derive new systems or
enhancements.

2. Approach :
• Forward Engineering : Starts with a conceptual design or requirement and progresses towards
a working system.
• Reverse Engineering : Starts with an existing system or product and works backward to
understand its design, structure, or source code.

3. Purpose :
• Forward Engineering : To create a new system or software from the ground up, based on
specifications or requirements.
• Reverse Engineering : To analyze and understand the workings of an existing system, often for
purposes like system improvement, documentation, or creating compatible systems.

4. Usage :
• Forward Engineering : Common in software development, product design, and creating new
systems or applications.
• Reverse Engineering : Used to recover lost documentation, improve system interoperability, or
detect security vulnerabilities, or sometimes to replicate or improve existing systems.

5. Example :
• Forward Engineering : Writing code for a new application based on user requirements.
• Reverse Engineering : Analyzing a competitor's product to understand its features or to extract
design ideas.

6. Outcome :
• Forward Engineering : Results in a new system, software, or product.
• Reverse Engineering : Results in a deeper understanding of an existing system,
documentation, or possibly a modified version of the original.
Q5) Write a short note on any Two of the following. [3×2=6]

a) Types of Cohesion.
Ans:
1. Coincidental Cohesion : Elements are unrelated and perform different functions. (Least
desirable)
2. Logical Cohesion : Elements are grouped because they perform similar types of tasks but
may operate on different data.
3. Temporal Cohesion : Elements are grouped because they are activated at the same time
(e.g., initialization tasks).
4. Procedural Cohesion : Elements are grouped because they follow a specific sequence of
operations.
5. Communicational Cohesion : Elements are grouped because they operate on the same data
or perform operations on the same data set.
6. Sequential Cohesion : Elements are grouped because the output of one operation is the input
of another.

b) Validation and Verification Testing.


Ans:
1. Validation Testing : This ensures the product meets the user's needs and requirements. It
answers the question: "Are we building the right product?" Typically done during the final stages
of development to ensure the system behaves as expected in real-world scenarios.
2. Verification Testing : This ensures the product was built according to the specified
requirements and design. It answers the question: "Are we building the product right?" It is often
conducted during the development stages to check if the system meets the specifications.

c) Feasibility study.
Ans: A Feasibility Study is an analysis conducted to determine the viability of a project. It
evaluates whether a project can be successfully completed with the available resources, within
the required time frame, and within the budget.
The feasibility study typically covers :
• Technical Feasibility : Can the system be developed with current technology ?
• Economic Feasibility : Is the project cost-effective ?
• Operational Feasibility : Will the system work as intended within the operational environment ?
• Legal Feasibility : Does the project comply with legal and regulatory requirements ?

d) System Testing.
Ans: System Testing is the phase in software testing where the complete and integrated
software system is tested as a whole. It checks the system’s compliance with the specified
requirements and ensures that all components work together properly.
It typically includes various types of testing :
• Functional Testing : Verifies if the system performs its intended functions.
• Non-Functional Testing : Assesses performance, security, usability, etc.
• Regression Testing : Ensures new changes haven’t broken existing functionality.
e) McCall’s quality factors.
Ans: McCall's Quality Factors are a set of software quality attributes used to assess and
measure the quality of software. They include :
1. Correctness : The degree to which the software meets the specified requirements.
2. Reliability : The ability of the software to perform consistently under specified conditions.
3. Efficiency : How well the software uses resources like memory and CPU.
4. Integrity : The software’s ability to resist unauthorized access or modifications.

f) Requirement Gathering.
Ans: Requirement Gathering is the process of collecting the requirements of the system from
stakeholders, including end-users, clients, and business analysts. The aim is to understand and
document what the system needs to do to satisfy the user's needs. Techniques for requirement
gathering include :
• Interviews with stakeholders.
• Surveys and Questionnaires.
• Document Analysis.
• Workshops and Brainstorming Sessions.

You might also like