0% found this document useful (0 votes)
6 views10 pages

Software Engineering Review

The document is a comprehensive exam review for Software Engineering, covering key concepts, methodologies, project planning, requirements engineering, and system modeling. It includes multiple-choice and true/false questions to assess understanding of software production processes, development methodologies, project initiation, and requirements gathering. Essential topics include the Software Development Life Cycle (SDLC), project feasibility, and the importance of functional and non-functional requirements.

Uploaded by

akramtarek1305
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)
6 views10 pages

Software Engineering Review

The document is a comprehensive exam review for Software Engineering, covering key concepts, methodologies, project planning, requirements engineering, and system modeling. It includes multiple-choice and true/false questions to assess understanding of software production processes, development methodologies, project initiation, and requirements gathering. Essential topics include the Software Development Life Cycle (SDLC), project feasibility, and the importance of functional and non-functional requirements.

Uploaded by

akramtarek1305
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

Software Engineering – Comprehensive Exam

Review
Key Concepts | Multiple Choice Questions | True & False Questions

PART 1 — KEY CONCEPTS SUMMARY

Unit 1: Introduction to Software Engineering


• Software Engineering: An engineering discipline concerned with all aspects of software
production, from specification through maintenance.
• Four core process activities: Specification → Development → Validation → Evolution.
• Generic products: stand-alone systems sold to any customer (e.g., graphics programs).
Customized products: commissioned by a specific customer (e.g., air traffic control software).
• Essential attributes of good software: Maintainability, Dependability & Security, Efficiency,
Acceptability.
• Application types: Stand-alone, Interactive transaction-based, Embedded control, Batch
processing, Entertainment, Modeling & simulation, Data collection, Systems of systems.
• Software costs: ~60% development, ~40% testing. For custom software, evolution costs often
exceed development costs.

Unit 2: SDLC & Development Methodologies


• SDLC phases: Planning → Analysis → Design → Implementation → Support.
• Waterfall: sequential, requirements fixed early. Advantage: minimizes requirement changes.
Disadvantage: long delay between analysis and delivery.
• RAD (Rapid Application Development): three approaches — Phased Development | Prototyping |
Throw-away Prototyping.
• Agile/XP: reduces documentation overhead, emphasizes iterative development and continuous
user interaction.
• XP five core values: Communication, Simplicity, Feedback, Courage, Respect.
• Methodology selection criteria: clarity of requirements, familiarity with technology, system
complexity, reliability, time schedule.

Unit 2: Project Initiation & Planning (PIP)


• Project Charter: a short document for all stakeholders containing project title, manager,
objectives, schedule, and signatures.
• BPP (Baseline Project Plan): contains Introduction, System Description, Feasibility Assessment,
Management Issues.
• PSS (Project Scope Statement): a document for the customer describing what the project will
deliver.
• Feasibility types: Economic, Technical, Operational, Scheduling, Legal & Contractual, Political.
• Cost/Benefit types: Tangible vs. Intangible. One-time vs. Recurring. Fixed vs. Variable.
• NPV (Net Present Value): evaluates financial worthiness by discounting future cash flows to
present value.
• BEA (Break-Even Analysis): identifies at what point cumulative benefits equal total costs.
• Technical risk factors: project size, project structure, development group experience, user group
familiarity.
Unit 3: Requirements Engineering
• IEEE Definition: 'A condition or capability needed by a user to solve a problem or achieve an
objective.'
• Functional Requirements: describe what the system should do — services, reactions to inputs,
behavior in situations.
• Non-Functional Requirements (NFRs): constraints on services — efficiency, reliability, portability,
interoperability, security, usability.
• NFR types: Product requirements, Organizational requirements, External requirements.
• Requirements gathering techniques: Interviews (primary), Questionnaires, Workshops,
Observation, Document review.
• Guidelines for writing requirements: standard format, consistent language, avoid jargon, separate
functional from non-functional, prioritize using MoSCoW (Must, Should, Could, Won't).

Unit 4: System Models — Context Diagram & DFD


• Context Diagram: a single-picture model showing the system at the center with external elements
it interacts with. Uses only 3 symbols: circle (system), rectangle (terminator), arrow (data flow).
• Context Diagram strengths: easy to understand, clear system boundary, identifies external
entities. Weakness: shows no internal functionality.
• DFD four components: Process, Data Store, External Entity (Source/Sink), Data Flow.
• Key DFD rules: No process with only outputs OR only inputs. No direct flow between two external
entities. No direct flow from a process to itself. All flows to/from a Data Store must pass through a
process.
• DFD levels: Context DFD → Level-0 → Level-1 → Level-n (increasing detail/decomposition).
• Flow from Process to Data Store = Update (insert/delete/modify). Flow from Data Store to
Process = Retrieve/Use.
PART 2 — MULTIPLE CHOICE QUESTIONS (with Answers)

Unit 1: Introduction to Software Engineering


# Question Options Answer
1 What is the best definition of Software Engineering? A) The study of B
algorithms only
B) An engineering
discipline concerned
with all aspects of
software production
C) Designing databases
only
D) Developing hardware
systems

2 What are the four fundamental software process A) Planning, Design, B


activities? Testing, Maintenance
B) Specification,
Development,
Validation, Evolution
C) Analysis, Coding,
Deployment,
Management
D) Investigation, Coding,
Delivery, Support

3 Which of the following is an example of a Generic A) Air traffic control C


Product? software
B) Custom software for
a specific dental clinic
C) A graphics program
sold in the market
D) A road monitoring
system for a specific city

4 Which software attribute refers to using system A) Maintainability C


resources without waste? B) Dependability
C) Efficiency
D) Acceptability

5 What is the main difference between Computer A) Computer Science is B


Science and Software Engineering? only about hardware
B) Computer Science
focuses on theory;
Software Engineering
focuses on practical
development
C) Software Engineering
studies mathematics
D) There is no
difference

6 Which application type controls and manages A) Stand-alone C


hardware devices? applications
B) Batch processing
systems
C) Embedded control
systems
D) Entertainment
systems

7 Approximately what percentage of software costs A) 20% B


are testing costs? B) 40%
C) 60%
D) 80%

8 Which application type collects data from its A) Entertainment C


environment using sensors? systems
B) Accounting software
C) Data collection
systems
D) Simulation systems

Unit 2: SDLC Methodologies


# Question Options Answer
1 What does SDLC stand for? A) Software Design Life B
Cycle
B) System Development
Life Cycle
C) Structured Design
and Logic Cycle
D) Software Delivery
and Launch Cycle

2 What is the main advantage of Waterfall A) Very fast software B


methodology? delivery
B) Requirements are
identified long before
programming begins
C) Uses prototypes
throughout
D) Develops system in
multiple versions

3 Which methodology is most suitable when user A) Waterfall C


requirements are unclear? B) Parallel Development
C) RAD Prototyping
D) Structured Design

4 What is the main disadvantage of Waterfall? A) Difficult project B


management
B) Long time between
analysis phase and
system delivery
C) Too many prototypes
D) Lack of
documentation

5 What are the four core values of Extreme A) Planning, Design, B


Programming (XP)? Coding, Testing
B) Communication,
Simplicity, Feedback,
Courage
C) Speed, Quality,
Documentation, Delivery
D) Security, Reliability,
Performance,
Maintainability

6 In RAD Phased Development, what is developed A) The least important C


first? features
B) The database
C) The most important
and fundamental
requirements
D) The user interface

7 Which methodology breaks the overall system into A) Waterfall B


versions developed sequentially? B) Phased Development
C) Throw-away
Prototyping
D) Parallel Development

8 For which criteria is Waterfall the worst choice? A) High system reliability C
required
B) Requirements are
very clear
C) Short time schedule
D) Familiar technology

Project Initiation & Planning (PIP)


# Question Options Answer
1 What is the main goal of Project Initiation and A) Identify programming B
Planning (PIP)? bugs
B) Transform a vague
system request into a
tangible project
description
C) Design the user
interface
D) Write source code

2 What is a Project Charter? A) A detailed test plan B


B) A short document
providing a high-level
overview of the project
for stakeholders
C) A requirements
database
D) An economic
feasibility report

3 What is the difference between tangible and A) Tangible costs are B


intangible costs? always larger
B) Tangible costs can
be measured in dollars;
intangible costs cannot
easily be measured
C) No difference in
calculations
D) Intangible costs do
not affect the project

4 What does NPV stand for? A) Net Project Value B


B) Net Present Value
C) New Programming
Version
D) None of the above

5 What is Economic Feasibility? A) Evaluating the project B


timeline
B) Analyzing the
financial costs and
benefits of a
development project
C) Assessing the team's
technical skills
D) Analyzing
organizational policies

6 What does BPP stand for? A) Basic Programming B


Plan
B) Baseline Project Plan
C) Business Process
Protocol
D) Budget Planning
Process

7 Which technical risk factor makes a project MORE A) Small team size D
risky? B) Use of familiar and
standard technology
C) Clear and well-
structured requirements
D) Large project size

8 What is the difference between fixed and variable A) Fixed costs change B
costs? with usage
B) Fixed costs are billed
at a regular interval at a
fixed rate; variable costs
vary with usage
C) Variable costs are
always cheaper
D) No difference

Unit 3: Requirements Engineering


# Question Options Answer
1 How does IEEE define a requirement? A) A system design B
document
B) A condition or
capability needed by a
user to solve a problem
or achieve an objective
C) The full project plan
D) The final test result of
the system
2 What is the key difference between functional and A) No difference B
non-functional requirements? B) Functional describe
what the system does;
non-functional are
constraints on services
or performance
C) Non-functional are
always more important
D) Functional
requirements relate to
hardware only

3 Which of the following is an example of a non- A) The system allows B


functional requirement? the user to log in
B) The system must
respond within 2
seconds
C) The system prints
invoices
D) The system
calculates salaries

4 Which NFR type concerns adapting software to A) Reliability B


different hardware or OS environments? requirements
B) Portability
requirements
C) Efficiency
requirements
D) Security
requirements

5 Who are Stakeholders? A) The development C


team only
B) Customers only
C) Different people who
have an interest in the
software
D) Project managers
only

6 What is the primary and most effective technique A) Questionnaires C


for gathering requirements? B) Workshops
C) Interviews
D) Document review

7 What does MoSCoW refer to in requirements A) A database design B


writing? model
B) A method for
prioritizing requirements
(Must, Should, Could,
Won't)
C) A type of testing
D) A development
methodology

8 What are the main problems with: 'If sales for A) No problem B
current month are below target unless difference is B) Difficult to read,
less than half...'? ambiguous, and
incomplete
C) The sentence is too
long
D) Lacks numbers

Unit 4: Context Diagram & DFD


# Question Options Answer
1 What is the main purpose of a Context Diagram? A) Shows the internal B
details of the system
B) Defines the system
boundary and its
interactions with the
external environment
C) Shows the database
structure
D) Describes the user
interface

2 How many notational symbols does a Context A) 2 B


Diagram use? B) 3
C) 4
D) 5

3 What does a rectangle represent in a DFD? A) A Process C


B) A Data Store
C) An External Entity
(Source/Sink)
D) A Data Flow

4 Which DFD rule is correct: 'A process cannot have A) False, it is allowed B
outputs only'? B) True, every process
must have both inputs
and outputs
C) Depends on the
system type
D) Allowed in Level-0
only

5 What does a data flow from a Data Store to a A) Delete the data C
Process mean? B) Update the data
C) Retrieve or use the
data
D) Transfer data outside
the system

6 What is the key difference between a Context A) No difference C


Diagram and a Level-0 DFD? B) Context shows major
processes and data
stores; Level-0 does not
C) Context has one
process symbol; Level-0
shows major processes
and data stores
D) Level-0 is simpler
than Context

7 Which of the following is a valid DFD rule? A) Data can flow directly B
between two external
entities
B) All flows to/from a
data store must go
through a process
C) A process can send
data directly to itself
D) No process is
required between two
entities

8 What is the starting point when drawing a Context A) A Data Store C


Diagram? B) A Terminator
C) A single circle
representing the entire
system
D) A rectangle
representing the
database
PART 3 — TRUE / FALSE QUESTIONS (with Answers)

# Statement Answer
1 Software Engineering is only concerned with writing code (programming), False
nothing else.
2 A Customized Product is software developed for a specific customer to meet True
their own needs.
3 Efficiency in software means the ability of the software to evolve to meet False
changing customer requirements.
4 Roughly 60% of software costs are development costs and 40% are testing True
costs.
5 Waterfall methodology is very suitable for projects with short time schedules. False
6 In RAD Prototyping, the analysis, design, and implementation phases are True
performed concurrently and repeatedly.
7 Non-functional requirements (NFRs) usually apply only to a single specific False
feature of the system.
8 Interoperability requirements describe the extent to which systems can True
exchange and interpret shared data.
9 In a DFD, data can flow directly between two external entities without going False
through a process.
10 A Context Diagram uses only one process symbol representing the entire True
system.
11 A data flow from a Process to a Data Store means retrieving the data. False
12 A Structured Walkthrough is a peer-group review of any product created True
during the system development process.
13 NPV is used to evaluate whether a project is financially worthwhile by True
discounting future cash flows.
14 Larger projects are less risky than smaller projects from a technical False
standpoint.
15 An Interview is a secondary technique and not the primary method for False
gathering requirements.
16 Process labels in a DFD should be verb phrases. True
17 Break-Even Analysis identifies at what point benefits equal costs. True
18 In Agile/XP, the focus is on heavy documentation and detailed modeling False
before starting programming.
19 The Project Scope Statement (PSS) is a document prepared for the True
customer describing what the project will deliver.
20 A Context Diagram shows the internal structure and internal functionality of False
the system in detail.

You might also like