Software Engineering Exam Guide | Waterfall, Agile, DFD, Prototyping, Exams of Introduction to Software Engineering

Ace your Software Engineering exam with this complete guide. Covers process models, requirements, DFDs, prototyping, and more. Perfect for students. software engineering, exam guide, study notes, waterfall model, agile development, DFD, data flow diagram, requirements engineering, prototyping, use case, student study, test prep, exam review

Typology: Exams

2025/2026

Available from 01/31/2026

KingPrince
KingPrince 🇺🇸

858 documents

1 / 23

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Engineering Exam #1 questions and
answers 2025/2026 latest update
1.What is software? - answer- Computer programs and associated documentation
- Developed for specific customer or general market
2.What are attributes of good software? - answer- Deliver required functionality and performance
- Maintainable, dependable, usable
3.What is software engineering? - answer- Engineering discipline concerned with all aspect of software
production
4.What are the fundamental software engineering activities? - answer- Software specification
- Software development
- Software validation
- Software evolution
5.Software engineering vs computer science? - answer- Computer science focuses on theory and
fundamentals
- Software engineering focuses on practicalities of developing and delivering software
6.Software engineering vs system engineering? - answer- System engineering concerned with computer-
based system development (hardware, software, process engineering)
- Software engineering more general
7.What are the key challenges facing software engineering? - answer- Dealing with increasing diversity
- Dealing with demands for reduced delivery times
- Dealing with developing trustworthy software
8.What are the costs of software engineering? - answer- 60% development costs
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Partial preview of the text

Download Software Engineering Exam Guide | Waterfall, Agile, DFD, Prototyping and more Exams Introduction to Software Engineering in PDF only on Docsity!

Software Engineering Exam #1 questions and

answers 2025/2026 latest update 1.What is software? - answer- Computer programs and associated documentation

  • Developed for specific customer or general market 2.What are attributes of good software? - answer- Deliver required functionality and performance
  • Maintainable, dependable, usable 3.What is software engineering? -production answer- Engineering discipline concerned with all aspect of software

4.What are the fundamental software engineering activities? - answer- Software specification

  • Software development- Software validation
  • Software evolution 5.Software engineering vs computer science? -fundamentals answer- Computer science focuses on theory and
  • Software engineering focuses on practicalities of developing and delivering software 6.Software engineering vs system engineering? -based system development (hardware, software, process engineering) answer- System engineering concerned with computer-
  • Software engineering more general 7.What are the key challenges facing software engineering? - answer- Dealing with increasing diversity
  • Dealing with demands for reduced delivery times- Dealing with developing trustworthy software

8.What are the costs of software engineering? - answer- 60% development costs

  • 40% testing costs
  • For custom software, evolution costs outweigh development costs 9.What differences has the web made to software engineering? -availability of software services answer- Dramatically increased
  • Ability to develop highly distributed service-based systems- Important advances in programming languages and software reuse

10.What makes GOOD software? - answer- Functionality

  • Usability- Maintainability
  • Dependability- Efficiency

11.Software is EXPENSIVE. What are the major costs? - answer- Salaries

  • Organizational changes 12.Software is expensive. What are the major general questions to ask? -money? answer- Who is paying the
  • What does that person/organization want?- What are the measures of success/failure? -- In the eyes of the SW engineer? Or the paying organization? 13.Main Stakeholders -- Customers answer- Clients
  • Users 14.Who is the client? -- The person who provides resources and expects product in return answer- The person for whom the SW development team creates the software

20.User Testing - answer- Versions of user interface are tested by USERS.

  • May lead to changes in requirements and design 21.Program Testing -combination (system testing) against to design to find bugs, etc answer- DEVELOPMENT TEAM tests components individually (unit testing) or in

22.Acceptance Testing -against their requirements answer- The CLIENT tests the final version of the system or parts of the system

23.Process Step: Feasibility - answer- A feasibility study precedes the decision to begin a project

  • What is the scope of the proposed project?
  • Is the project technically feasible?
  • What are the projected benefits?
  • What are the costs, timetable?
  • Are the resources available?
  • What are the risks and how can they be managed?
  • Leads to a decision: go or no-go. 24.Process Step: Requirements - answer- Define function of the system from the client's viewpoint.
  • Establish the system's functionality, constraints, and goals by consultation with the client, customers,and users.
  • Must be developed in a manner that is understandable by both the client and the development staff.This step is divided into: -- Requirements analysis -- Requirements definition-- Requirements specification
  • Failure to agree on the requirements is one of the biggest causes of software projects failing. Process Step: System and Program Design -developers' viewpoint answer- Design describes the system from the software
  • System design: Establish a system architecture, both hardware and software, that matches therequirements
  • Program design: Represent the software functions in a form that can be transformed into one or moreexecutable programs
  • Models are used to represent the requirements, system architecture, and program design. Process Step: Implementation --- The software design is realized as a set of programs or program units. answerImplementation (coding) -- These software components may be written by the development team, acquired from elsewhere, ormodified from existing components.

Program testing -- Program testing by the development staff is an integral part of the implementation.-- Individual components are tested against the design. -- The components are integrated and tested against the design as a complete system. Process Step: Acceptance and Release - answerAcceptance testing

Incremental Development -software are placed in production (sprints). answer- A variant of iterative refinement in which small increments of

  • ex: Agile development. Heavyweight Software Development -slowly and systematically, with the aim of fully completing each process step and delivering a complete answer- Development team works through the process steps software product that will need minimal changes and revision.
  • ex: Waterfall model Lightweight Software Development -increments, and develops the plans incrementally, based on experience. Each increment includes all the answer- Development team releases working software in small process steps. There is an expectation that changes will be made based on experience.
  • Agile Software Development Deliverables - answer- Some work product that is delivered to the client. Types of Software Process -successful software process for software development. answer- The basic process steps can be combined in many ways to create a
  • Development of a major system may use all three main dev models/methods in various combosincluding: -- Phased development-- Spiral development

Waterfall Model (steps) - answer> Feasibility study > Requirements> System design

> Program design > Implementation (coding)> Program testing > Acceptance & release> Operation & maintenance

Waterfall Model (Advantages/Disadvantages) - answerAdvantages:

  • Process visibility+ Separation of tasks
  • Quality control at each step+ Cost monitoring at each step

Disadvantages:

  • Not flexible enough most of the time- Each step reveals things that should have been changed in previous step(s)

Problem with Traditional Waterfall -different steps build off one another answer- Purely sequential models do not work in practice as

Modified Waterfall Model -previous step and then go down the chain starting from there) answerWaterfall but with feedback (from any step you can go back to a

> Feasibility study > Requirements> System design > Program design> Implementation (coding) > Program testing> Acceptance & release

  • Successive refinement Incremental Development - answer- Project is divided into large number of small tasks called sprints
  • For each sprint, a team works through a full software development cycle including planning,requirements analysis, design, coding, testing, and acceptance testing, and release
  • Each sprint is completed in a fixed time period, e.g., four weeks
  • The size of an sprint is based on team size, e.g., 5-10 people Sprint (Incremental Dev) - answer- The fundamental concept of Incremental Development
  • A single sprint is a full software development cycle including planning, requirements analysis, design,coding, testing, and acceptance testing, and release

Incremental Development (Advantages/Disadvantages) - answerAdvantages:

  • Pay-back on investment begins soon+ Requirement are more clearly understood in developing subsequent sprints
  • Feedback from customers and clients can be incorporated in later phases+ Easier for small teams to develop a small sprint correctly

Disadvantages:

  • A high-level team must establish overall architecture and coordinate increments- Often not suitable for huge projects with lots of co-dependent parts

Ways to Lower Risk in Software Development - answer- Prototyping key components

  • Frequent releases, or dividing large projects into phases
  • Early and repeated testing with users and customers
  • Following a visible software process
  • Making use of reusable components Feasibility Study - answer- A study made before committing to a project
  • Leads to decision to (go ahead, do not go ahead, think again/rework)
  • Often leads to budget request Why are Feasibility Studies Difficult? --- Clients may be unsure of the scope of the project answerUncertainty -- Benefits are usually very hard to quantify-- Approach is usually ill-defined. Estimates of resources and timetable are very rough-- Organizational changes may be needed

Advocacy -- Advocacy is needed to build enthusiasm for a project: to convince an organization to undertake anexpensive, complex project with many risks. -- Enthusiasm is good, but enthusiasts usually emphasize potential benefits and downplay risks. What is Requirements Engineering? -system and the constraints under which it operates and is developed. answer- Establishing the services that a customer requires from a

  • The system requirements are the descriptions of the system services and constraints that aregenerated during the requirements engineering process.
  • Functional user requirements may be high-level statements of what the system should do.
  • Functional requirements describe the functions that the system must perform.
  • Functional system requirements should describe the system services in detail. Non-Functional Requirements -response time and storage requirements. Constraints are I/O device capability, system representations, answer- Define system properties and constraints e.g. reliability, etc
  • Process requirements may also be specified mandating a particular IDE, programming language ordevelopment method
  • Non-functional requirements may be more critical than functional requirements. If these are not met,the system may be useless

Scenario - answer- A scene that illustrates some interaction with a proposed system

  • A tool used during requirements analysis to describe a specific use of a proposed system.
  • Capture the system, as viewed from the outside, e.g., by a user, using specific examples. Describing a Scenario - answer- A statement of the purpose of the scenario
  • The individual user or transaction that is being followed through the scenario
  • Assumptions about equipment or software
  • The steps of the scenario

Actor (Use Cases) - answer- A user of a system in a particular role

  • Can be human or an external system Use Case -users of the system. answer- Capture functional requirements of a system from the perspectives of the different
  • Textual narratives describing the different kinds of scenarios in which the system will be used.
  • Help to visualize which actors are involved in which scenarios.
  • The functional requirements described in use cases will be realized software design.
  • Non-functional (or qualitative) requirements are not depicted with use cases. Use Case Diagram (UCD) -work together answer- Diagram to depict how the functional requirements of a system will
  • Includes actors (users or systems), use cases, and lines connecting actors to use cases depicting therelationship between the two

Misuse Case - answer- A negative use case

  • Ask what a misactor could do to take advantage of/harm system Benefits of Misuse Cases - answer- Elicitation of security and safety requirements
  • Early identification of threats, mitigations, and exceptions that could cause system failure
  • Early identification of test cases

Disadvantages:

  • Makes it difficult to reject initial solution when it is presented- Very difficult to contain scope of prototype
  • System documentation is often absence or incomplete- System backup and security issues are overlooked

Types of Prototyping - answer- Throw-Away Prototyping

  • Evolutionary Prototyping Throw-Away Prototyping -then discarded answer- A prototype is produced to help discover requirements problems and
  • Developed from the initial requirements but is not used for the final project Evolutionary Prototyping -stages to the final system answer-An initial prototype is produced and refined through a number of

-It is consider the most fundamental form of prototyping -Objective to deliver a working system to the end user Throw-Away Prototyping (Advantages/Disadvantages) - answerAdvantages:

  • Significantly reduce project risk+ Has a short project timeline

Disadvantages:

  • The prototype does nothing, it is just presentational- Limited purpose
  • Becoming increasingly less popular Low Fidelity Prototyping (Advantages/Disadvantages) - answerAdvantages:
  • Lower development cost+ Evaluate multiple design concepts
  • Useful communication device+ Addresses screen layout issues
  • Useful for identifying requirements Disadvantages:- Limited error checking
  • Facilitator driven- Limited utility after requirements established
  • Navigation and flow limitations Low-Fidelity Prototyping - answer- Generally limited function, limited interaction prototyping effort
  • They are constructed to depict concepts, design alternatives and screen layouts. They are intended todemonstrate general look and feel of the interface
  • They are created to educate, communicate and inform, but not to train, test or serve as a basis forwhich to code.
  • Used early in the design cycle to show general conceptual approaches without much investment indevelopment.

High-Fidelity Prototyping - answer- It represent the core functionality of the products user interface.

  • High fidelity prototypes are fully interactive systems. Users can enter data in entry fields, respond tomessages, select icon to open windows and interact with user interface as if it were a real system.

Decision Table (Advantages/Disadvantages) -+ Make it possible to detect combinations of conditions that would otherwise not have been found answerAdvantages:

Disadvantages:

  • Not equivalent to complete test cases containing step-by-step instructions of what to do in what order- However, if we have a lot of combinations, it may not be possible or sensible to test every combination

What is a Decision Table? -expressions are mutually exclusive in a predefined area answer- Table representing complete set of conditional expressions where

Why Use Decision Tables? --- Compact and structured presentation answerPowerful visualization

Preventing errors is easier -- Avoid incompleteness and inconsistency Modular knowledge organization-- Group related rules into single table -- Combine tables to achieve decision Data Flow Diagram -and between processes and data stores answer- Focus on the movement of data between external entities and processes,

DFD Components - answer- Source/Sink

  • Data Flow- Process
  • Data Store

Source/Sink (DFD Component) - answer- Drawn as white box

  • Any class of people, an organization, or another system which exists outside the system you arestudying
  • Form the boundaries of the system
  • The system and external entities exchange data in the form of data flows
  • Must be named, titles preferred to names of individuals - use a noun Data Store (DFD Component) - answer- Drawn as white rectangle w/ beige end
  • Data at rest
  • Represents holding areas for collection of data, processes add or retrieve data from these stores
  • Name using a noun (do not use 'file')
  • Only processes are connected to data stores
  • Show net flow of data between data store and process. Data Flow (DFD Component) - answer- Drawn as Red Arrow
  • Data in motion
  • Marks movement of data through the system