0% found this document useful (0 votes)
159 views9 pages

Software Engineering NEP 2024

The document provides an overview of software engineering concepts, including definitions of software engineering, user and system requirements, and various modeling techniques. It discusses the importance of software architecture, testing levels, and methodologies such as Agile and the Waterfall model. Additionally, it covers testing types, validation vs. verification, and the challenges of eliciting requirements from stakeholders.

Uploaded by

s9738322228
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)
159 views9 pages

Software Engineering NEP 2024

The document provides an overview of software engineering concepts, including definitions of software engineering, user and system requirements, and various modeling techniques. It discusses the importance of software architecture, testing levels, and methodologies such as Agile and the Waterfall model. Additionally, it covers testing types, validation vs. verification, and the challenges of eliciting requirements from stakeholders.

Uploaded by

s9738322228
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/ 9

Software Engineering NEP 2024

2 Marks

1)What is software engineering?


Software engineering is the systematic application of engineering principles to the design,
development, testing, deployment, and maintenance of software. It involves using structured
methods to create reliable, efficient, and scalable software systems that meet user and business
requirements.

2)Define user requirements and system requirements.

o User Requirements: High-level, natural language descriptions of what the user


expects the system to do, often expressed in terms of goals or use cases.
o System Requirements: Detailed, technical specifications of the system’s
functionality, behavior, and constraints, derived from user requirements. These
are used for design and implementation.

3)List the different types of models to represent different system


perspectives.

o Data Models: Represent how data is structured and stored (e.g., ER diagrams).
o Process Models: Represent how processes flow within a system (e.g., Data Flow
Diagrams).
o Object Models: Represent the structure of objects and their relationships (e.g.,
Class Diagrams).
o Behavioral Models: Represent system behaviors over time (e.g., State Diagrams,
Sequence Diagrams).
o Architectural Models: Represent high-level system architecture and components
(e.g., Component Diagrams).

4)Discuss three advantages of explicitly designing and documenting


software architecture.

o Improved Communication: Provides a clear blueprint for all stakeholders,


ensuring everyone understands the system.
o Better System Quality: Ensures scalability, maintainability, and reusability
through well-planned architecture.
o Risk Reduction: Identifies and resolves potential design issues early in the
development lifecycle.
5)How to identify objects and classes in object-oriented systems?

o Analyze Requirements: Review user and system requirements to identify nouns


(potential objects) and verbs (potential methods).
o Identify Entities: Focus on real-world entities, roles, and responsibilities in the
domain.
o Group Similar Attributes and Behaviors: Objects with similar attributes and
operations should belong to the same class.
o Refine Relationships: Define associations, inheritances, and dependencies
among objects.

6)What are the differences between Validation and Verification?

o Validation: Ensures the software meets the user’s needs and expectations (e.g.,
"Are we building the right product?").
o Verification: Ensures the software is developed correctly according to
specifications (e.g., "Are we building the product right?").
o Validation involves testing against user requirements, while verification involves
reviews, inspections, and technical testing.

7)List the different types of interface errors.

o Syntax Errors: Mismatch in data types, formats, or protocols between interfaces.


o Semantic Errors: Misunderstanding of data meaning between systems.
o Timing Errors: Issues with synchronization between systems (e.g., data sent too
early or too late).
o Integration Errors: Failure to handle unexpected inputs or outputs during
integration.
o Resource Errors: Insufficient resources like memory or bandwidth during
interaction.

8)Define Agile method.


Agile is an iterative and incremental software development methodology that focuses on
delivering small, functional parts of a system frequently. It emphasizes collaboration,
adaptability to change, continuous feedback, and customer satisfaction. Popular Agile
frameworks include Scrum, Kanban, and Extreme Programming (XP).
4 marks

9)Discuss the four fundamental activities that are essential to the


software process.

The four fundamental activities essential to the software process are:

 Specification: Involves understanding and defining the system's requirements. It specifies what
the system should do and includes functional and non-functional requirements.
 Design and Implementation: Focuses on transforming the specifications into an executable
system. It involves creating software architecture, coding, and integrating modules.
 Validation: Ensures the developed system meets user requirements and expectations.
Validation activities include testing, user acceptance testing, and reviews.
 Evolution: Adapts and modifies the system as user requirements change or bugs are identified.
This involves maintaining, updating, and enhancing the software.

10)Explain the waterfall model with a neat diagram.

The waterfall model is a sequential software development process where each phase must be
completed before moving to the next. The phases include:

 Requirement Analysis: Collecting and documenting system requirements.


 System Design: Creating architecture and system design.
 Implementation: Writing and integrating code.
 Testing: Verifying that the system meets the requirements.
 Deployment: Releasing the software to users.
 Maintenance: Fixing issues and adding updates after release.

Diagram:

Requirements

Design

Implementation

Testing

Deployment

Maintenance
11)Explain the difference between functional and non-functional
requirements.

 Functional Requirements:
o Define the specific behaviors or functions of a system.
o Example: "The system shall allow users to log in using a username and password."
 Non-Functional Requirements:
o Define the system's quality attributes, such as performance, scalability, security, and
usability.
o Example: "The system should support 1,000 concurrent users."

Functional requirements describe "what" the system does, while non-functional requirements
describe "how" it performs.

12) Why eliciting and understanding requirements from system


stakeholders is a difficult process?

 Reasons for Difficulty:


o Ambiguity: Stakeholders may not have a clear understanding of their requirements.
o Communication Gap: Misunderstandings due to differences in technical knowledge
between stakeholders and developers.
o Conflicting Requirements: Different stakeholders may have opposing needs.
o Changing Requirements: Business environments evolve, leading to changes in
requirements during development.
o Implicit Requirements: Some requirements may not be explicitly stated but are
assumed.

13) Define Context Model. Explain with an example.

A context model represents the system's boundaries and its interaction with external entities. It
provides an overview of the system in relation to its environment.

 Example:
A hospital management system's context model might include interactions with external entities
like patients, doctors, insurance systems, and laboratories.

Diagram Example:

Patient Hospital Management System Doctor

Laboratory
14) What views are useful when designing and documenting a system's
architecture?

The following views are helpful:

 Logical View: Focuses on the system's functionality and relationships between components
(e.g., class diagrams).
 Development View: Focuses on the organization of the system in the development environment
(e.g., component diagrams).
 Process View: Addresses the system's runtime behavior and interactions (e.g., activity
diagrams).
 Physical View: Focuses on the system's physical deployment on hardware (e.g., deployment
diagrams).

15)Explain pipe-and-filter architecture with an example.

The pipe-and-filter architecture consists of components (filters) that process data and
connectors (pipes) that pass data between components. Each filter performs a transformation on
the data.

 Example: A compiler uses a pipe-and-filter architecture. The stages include:


o Lexical analysis → Syntax analysis → Semantic analysis → Code generation

Data flows sequentially from one stage to the next, with each stage transforming the input before
passing it forward.

16)Explain with an example alpha and beta testing.

 Alpha Testing:
o Conducted by the development team or an internal QA team at the developer’s site.
o Focuses on identifying bugs and issues before releasing the product to external users.
o Example: A software company tests a new app internally before releasing it to a
selected group of users.
 Beta Testing:
o Conducted by real users in a live environment.
o Aims to identify usability issues, bugs, and provide feedback for improvement.
o Example: A gaming company releases a beta version of a new game to a group of
players to gather feedback before the official launch.
10 Marks

17) Explain the levels of testing.

Software testing is conducted at multiple levels to ensure the quality and functionality of a
system. The main levels are:

1. Unit Testing:
o Tests individual components or modules of the software.
o Conducted by developers using testing frameworks (e.g., JUnit for Java).
o Ensures each function or method works as intended.
2. Integration Testing:
o Focuses on the interaction between integrated modules.
o Ensures data is passed correctly between components.
o Example: Testing the interaction between a login module and a database.
3. System Testing:
o Validates the entire system against specified requirements.
o Ensures all modules work together as a complete system.
o Example: Testing an e-commerce website’s end-to-end functionality, from browsing to
checkout.
4. Acceptance Testing:
o Conducted to verify if the software meets user expectations and business requirements.
o Performed by end-users or clients.
o Example: User Acceptance Testing (UAT) before deploying a banking application.

18) Explain Spiral Model with a neat diagram.

The Spiral Model is a risk-driven software development process combining iterative


development with systematic risk management.

Phases in the Spiral Model:

1. Planning Phase:
o Identify objectives, constraints, and alternatives for the project.
2. Risk Analysis Phase:
o Assess risks and develop mitigation strategies.
3. Engineering Phase:
o Develop and test the product incrementally.
4. Evaluation Phase:
o Review and validate the progress with stakeholders.

This process is repeated in spirals, with each loop representing a development phase.
Diagram:

19)Explain use case model with an example.

A use case model is a graphical representation of interactions between users (actors) and a
system to achieve specific goals.

Components:

1. Actors: Entities interacting with the system (e.g., user, external system).
2. Use Cases: Functionalities or goals the system provides (e.g., "Login" or "Search").
3. Relationships: Associations between actors and use cases (e.g., "uses," "extends").

Example:
For a library management system:

 Actors: Librarian, Member


 Use Cases: Issue Book, Return Book, Search Catalog

Diagram Example:

[Member] → (Search Catalog)


[Librarian] → (Issue Book)
[Librarian] → (Return Book)
20) Write the differences between event-driven modeling and data-
driven modeling.
Aspect Event-Driven Modeling Data-Driven Modeling
Definition Focuses on modeling the system's behavior Focuses on the flow and transformation
in response to external events. of data within a system.
Emphasis System’s reaction to inputs and triggers. Data structure and processing.
Examples Modeling a real-time traffic system. Modeling a payroll system.
Diagrams State diagrams, activity diagrams. Data flow diagrams, ER diagrams.
Used
Use Case Suitable for systems with dynamic behavior. Suitable for systems with complex data
operations.

21) Define testing and explain the different types of testing.

Definition of Testing:
Testing is the process of evaluating a software system to identify defects and ensure it meets the
specified requirements. It aims to verify functionality, performance, and reliability.

Types of Testing:

1. Functional Testing:
o Verifies the software’s functionality against requirements.
o Example: Testing if a login feature works correctly.
2. Non-Functional Testing:
o Focuses on quality attributes like performance, scalability, and security.
o Example: Load testing a website for 1,000 users.
3. Manual Testing:
o Performed by human testers without automation.
o Example: Usability testing for a mobile app.
4. Automated Testing:
o Uses tools/scripts to test software.
o Example: Selenium for web application testing.
5. Regression Testing:
o Ensures new changes don’t break existing functionality.
o Example: Retesting after fixing a bug.
6. Performance Testing:
o Evaluates the software’s response time, speed, and stability.
o Example: Testing an app’s response time under heavy traffic.
7. User Acceptance Testing (UAT):
o Validates the system with end-users.
o Example: Testing a retail POS system by cashiers before deployment.
8. Exploratory Testing:
o Tester explores the application without predefined test cases.
o Example: Finding usability issues in a newly designed UI.

You might also like