SlideShare a Scribd company logo
ICS52 - Introduction To Software Engineering
Final Exam – Winter, 2002
Name: _________________________ Student ID: ____________
1. (24 points, 4 points each) Define the following terms, as used in software
engineering:
A. Testing Oracle
A mechanism for determining whether the outcome of a test is correct.
B. Edge coverage criterion
Selecting a test set such that, after each test case in the test set has been
executed, each edge in the program's control flow graph has be executed at
least once.
C. Configuration management
Standards, procedures, and/or tools for controlling and tracking an evolving
system product.
D. CASE
Computer Aided Software Engineering. A program or computerized tool
that aids in any part of the software development or management process.
E. Stress testing
A series of tests where the load is steadily increased until the system
performance becomes unacceptible or the system fails.
F. Equivalence partition
A subset of set of all possible inputs that have common characteristics. A
subdomain (just this alone is 2 points).
2. (7 points) Define “architectural evolution” and explain one major reason why it
occurs.
Architectural evolution is change made to a system which effects the way in
which modules and sub-systems communicate with and rely on each other.
Typically centralized mainframe systems are transformed into client-server
systems. The book notes three main drivers of architectural evolution:
1. Hardware costs of distibuted (desktop) computers is going down.
2. Users are expecting graphical user interfaces associated with PCs.
3. People want distributed access to their systems.
3. (12 points.) The textbook describes, in Chapter 19 “Verification and Validation,”
several approaches to verifying a software system without relying on testing. Name
one of those approaches, and briefly describe it.
Software or program inspections. A team systematically examines the code (or
possibly a specification or design) and points out possible defects. The team may
consist of an author (owner), reader, tester or inspector, moderator, and or
scribe.
Automated static analysis. A software tool scans the source text of a program
and detects possible errors, faults, and anomolies. Steps may include Control
flow analysis, data use analysis, interface analysis, information flow analysis,
and path analysis. Lint is such a software tool.
Cleanroom software development. This approach has the objective of creating
zero-defect software. There are five key characteristics: formal specifications,
incremental development, structured programming, static verification, and
statistical testing of the system. Three teams involved are the specification team,
the development team, and the certification team.
4. (20 points) You have been assigned to design test cases for black box testing of a
Coinstar coin-counting machine. Here’s a description of that machine from
www.coinstar.com: “Got a jar of coins at home? Tired of wrapping and rolling your
coins? The Coinstar® Network consists of self-service coin counting machines
located at the front entrances of leading supermarkets nationwide. The Coinstar
machines count shoppers' accumulated coins and dispense a voucher that can be
exchanged in the store for cash or groceries.”
1. What is the input domain?
The (possibly empty) set of coins deposited in the coin receiving basket;
the roll of paper upon which the voucher is printed; ink to print on the
paper; pressing the “Print Voucher” button; electric power.
2. For the input domain you defined in (a), name a specific basis for dividing the
domain into subdomains.
The sum of the coins deposited. Assume there is electricity, sufficient
paper and ink to print the voucher, and that the user presses “Print
Voucher” afterwards.
3. Using the basis from (b), name three or four subdomains.
1. Less than five cents.
2. Five cents to 99 cents.
3. One dollar to ten dollars.
4. More than ten dollars.
4. For each subdomain from (c), give a test case input and the expected output.
1. Input: 3 pennies. Output: voucher for $0.03.
2. Input: 2 quarters. Output: voucher for $0.50.
3. Input: 21 dimes. Output: voucher for $2.10.
4. Input: 100 quarters. Output: voucher for $25.00.
5. (12 points) Draw and label a diagram representing the “spiral” software process
model.
See page 54.
Grading rubric:
Upper left quadrant: 3 pts. for mentioning at least two of ``objectives,''
``alternatives,'' ``constraints.''
Upper right quadrant: 1 point each for “evaluate alternatives,” “identify,
resolve risks,” “risk analysis,” “prototype” (to a max of 3 pts)
Lower right quadrant: 1 point each for ``develop,” “verify,” “concept of
operation,” “requirements,” “design,” “test,” “code” (to a max of 3 pts)
Lower left quadrant: 3 pts. for “plan.”
1 pt. for drawing a spiral.
This adds up to 13, but the max was 12.
6. (15 points) Recall the Scientific American article “Command and Control.”
What was a problem with the existing system, before ATAMS was started in April,
1995? Answer by describing one specific problem and a software quality or principal
discussed in lecture that was lacking in the existing system because of that problem.
Users had to scan multiple monitors for alerts that were hard to see. This
violates the quality of user-friendliness.
ATAMS was installed on time, within budget. This success was “no fluke,”
according to the article: “several techniques were used that produce better software
faster.” Describe one specific technique used in ATAMS, name one software quality
or principal discussed in lecture (it can be the same one you described above, or a
different one), and explain how the technique ensured the software quality or
followed the principle.
The system was split into small segments, which follows the principle of
modularity.
Did the development of ATAMS follow the “bazaar” model described by Eric
Raymond in “The Cathedral and the Bazaar”? Answer by describing a particular
aspect of the bazaar model that was present or missing in ATAMS.
Yes: ATAMS was developed with constant communication with users, and was
designed to undergo constant change.
No: ATAMS source was not open to a wide community of developers who each
contributed their own modifications and bug-fixes.
7. (10 points) Explain why interface testing (also called integration testing) is necessary
given that individual units have been extensively validated through unit testing.
See p. 456.
The calling component may pass the wrong parameters to the interface.
The calling component may pass parameters of the wrong type (e.g. int instead
of double) to the interface.
The called component may not behave as expected by the caller.
There may be timing errors in real-time systems.

More Related Content

PDF
Final Exam Solutions Fall02
DOC
09 cs491 st-t1
PDF
Bt0081 software engineering2
PDF
Topic 5 chapter 5
PPT
Chapter 8 - Software Testing.ppt
PDF
Topic 5 chapter 1
Final Exam Solutions Fall02
09 cs491 st-t1
Bt0081 software engineering2
Topic 5 chapter 5
Chapter 8 - Software Testing.ppt
Topic 5 chapter 1

Similar to Lo 09 (20)

PDF
Software Engineering Question Bank all.pdf
PPTX
Real time and distributed design
DOC
Student copybca sem3-se
PDF
Final Exam Questions Fall03
PDF
Istqb question-paper-dump-11
PDF
Requirements Based Testing
DOC
ISTQB Foundation level Sample Paper - Part 3
PPSX
Verifying and Validating Requirements
PPTX
SWE-6 TESTING.pptx
PDF
Istqb question-paper-dump-5
PDF
Istqb question-paper-dump-14
PDF
Bt0081 software engineering
PDF
Istqb question-paper-dump-6
PPTX
Cheat sheet BSC computer science 3rd yr.pptx
PDF
Topic 5 chapter 2
DOC
Question ISTQB foundation 3
DOC
Ôn tập kiến thức ISTQB
PPT
Test plan
DOCX
Se sample questions
PDF
Midterm Exam Solutions Fall03
Software Engineering Question Bank all.pdf
Real time and distributed design
Student copybca sem3-se
Final Exam Questions Fall03
Istqb question-paper-dump-11
Requirements Based Testing
ISTQB Foundation level Sample Paper - Part 3
Verifying and Validating Requirements
SWE-6 TESTING.pptx
Istqb question-paper-dump-5
Istqb question-paper-dump-14
Bt0081 software engineering
Istqb question-paper-dump-6
Cheat sheet BSC computer science 3rd yr.pptx
Topic 5 chapter 2
Question ISTQB foundation 3
Ôn tập kiến thức ISTQB
Test plan
Se sample questions
Midterm Exam Solutions Fall03
Ad

More from liankei (20)

PPT
Lo 19
PPT
Lo 18
PPT
Lo 13
PPT
Lo 12
PPT
Lo 11
PPT
Lo 06
PPT
Lo 05
PPT
Lo 04
PPT
Lo 01
PDF
Lo 16
PDF
Lo 15
PDF
Lo 08
PDF
Lo 03
PPT
Lo 20
PDF
Lo19
PDF
Lo20
PDF
Lo17
PDF
Lo18
PDF
Lo15
PDF
Lo16
Lo 19
Lo 18
Lo 13
Lo 12
Lo 11
Lo 06
Lo 05
Lo 04
Lo 01
Lo 16
Lo 15
Lo 08
Lo 03
Lo 20
Lo19
Lo20
Lo17
Lo18
Lo15
Lo16
Ad

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPT
Teaching material agriculture food technology
PDF
cuic standard and advanced reporting.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
KodekX | Application Modernization Development
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation_ Review paper, used for researhc scholars
Empathic Computing: Creating Shared Understanding
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Weekly Chronicles - August'25 Week I
Teaching material agriculture food technology
cuic standard and advanced reporting.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Per capita expenditure prediction using model stacking based on satellite ima...
KodekX | Application Modernization Development
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MYSQL Presentation for SQL database connectivity
Digital-Transformation-Roadmap-for-Companies.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation_ Review paper, used for researhc scholars

Lo 09

  • 1. ICS52 - Introduction To Software Engineering Final Exam – Winter, 2002 Name: _________________________ Student ID: ____________ 1. (24 points, 4 points each) Define the following terms, as used in software engineering: A. Testing Oracle A mechanism for determining whether the outcome of a test is correct. B. Edge coverage criterion Selecting a test set such that, after each test case in the test set has been executed, each edge in the program's control flow graph has be executed at least once. C. Configuration management Standards, procedures, and/or tools for controlling and tracking an evolving system product. D. CASE Computer Aided Software Engineering. A program or computerized tool that aids in any part of the software development or management process. E. Stress testing A series of tests where the load is steadily increased until the system performance becomes unacceptible or the system fails. F. Equivalence partition A subset of set of all possible inputs that have common characteristics. A subdomain (just this alone is 2 points).
  • 2. 2. (7 points) Define “architectural evolution” and explain one major reason why it occurs. Architectural evolution is change made to a system which effects the way in which modules and sub-systems communicate with and rely on each other. Typically centralized mainframe systems are transformed into client-server systems. The book notes three main drivers of architectural evolution: 1. Hardware costs of distibuted (desktop) computers is going down. 2. Users are expecting graphical user interfaces associated with PCs. 3. People want distributed access to their systems. 3. (12 points.) The textbook describes, in Chapter 19 “Verification and Validation,” several approaches to verifying a software system without relying on testing. Name one of those approaches, and briefly describe it. Software or program inspections. A team systematically examines the code (or possibly a specification or design) and points out possible defects. The team may consist of an author (owner), reader, tester or inspector, moderator, and or scribe. Automated static analysis. A software tool scans the source text of a program and detects possible errors, faults, and anomolies. Steps may include Control flow analysis, data use analysis, interface analysis, information flow analysis, and path analysis. Lint is such a software tool. Cleanroom software development. This approach has the objective of creating zero-defect software. There are five key characteristics: formal specifications, incremental development, structured programming, static verification, and statistical testing of the system. Three teams involved are the specification team, the development team, and the certification team.
  • 3. 4. (20 points) You have been assigned to design test cases for black box testing of a Coinstar coin-counting machine. Here’s a description of that machine from www.coinstar.com: “Got a jar of coins at home? Tired of wrapping and rolling your coins? The Coinstar® Network consists of self-service coin counting machines located at the front entrances of leading supermarkets nationwide. The Coinstar machines count shoppers' accumulated coins and dispense a voucher that can be exchanged in the store for cash or groceries.” 1. What is the input domain? The (possibly empty) set of coins deposited in the coin receiving basket; the roll of paper upon which the voucher is printed; ink to print on the paper; pressing the “Print Voucher” button; electric power. 2. For the input domain you defined in (a), name a specific basis for dividing the domain into subdomains. The sum of the coins deposited. Assume there is electricity, sufficient paper and ink to print the voucher, and that the user presses “Print Voucher” afterwards. 3. Using the basis from (b), name three or four subdomains. 1. Less than five cents. 2. Five cents to 99 cents. 3. One dollar to ten dollars. 4. More than ten dollars. 4. For each subdomain from (c), give a test case input and the expected output. 1. Input: 3 pennies. Output: voucher for $0.03. 2. Input: 2 quarters. Output: voucher for $0.50. 3. Input: 21 dimes. Output: voucher for $2.10. 4. Input: 100 quarters. Output: voucher for $25.00.
  • 4. 5. (12 points) Draw and label a diagram representing the “spiral” software process model. See page 54. Grading rubric: Upper left quadrant: 3 pts. for mentioning at least two of ``objectives,'' ``alternatives,'' ``constraints.'' Upper right quadrant: 1 point each for “evaluate alternatives,” “identify, resolve risks,” “risk analysis,” “prototype” (to a max of 3 pts) Lower right quadrant: 1 point each for ``develop,” “verify,” “concept of operation,” “requirements,” “design,” “test,” “code” (to a max of 3 pts) Lower left quadrant: 3 pts. for “plan.” 1 pt. for drawing a spiral. This adds up to 13, but the max was 12.
  • 5. 6. (15 points) Recall the Scientific American article “Command and Control.” What was a problem with the existing system, before ATAMS was started in April, 1995? Answer by describing one specific problem and a software quality or principal discussed in lecture that was lacking in the existing system because of that problem. Users had to scan multiple monitors for alerts that were hard to see. This violates the quality of user-friendliness. ATAMS was installed on time, within budget. This success was “no fluke,” according to the article: “several techniques were used that produce better software faster.” Describe one specific technique used in ATAMS, name one software quality or principal discussed in lecture (it can be the same one you described above, or a different one), and explain how the technique ensured the software quality or followed the principle. The system was split into small segments, which follows the principle of modularity. Did the development of ATAMS follow the “bazaar” model described by Eric Raymond in “The Cathedral and the Bazaar”? Answer by describing a particular aspect of the bazaar model that was present or missing in ATAMS. Yes: ATAMS was developed with constant communication with users, and was designed to undergo constant change. No: ATAMS source was not open to a wide community of developers who each contributed their own modifications and bug-fixes.
  • 6. 7. (10 points) Explain why interface testing (also called integration testing) is necessary given that individual units have been extensively validated through unit testing. See p. 456. The calling component may pass the wrong parameters to the interface. The calling component may pass parameters of the wrong type (e.g. int instead of double) to the interface. The called component may not behave as expected by the caller. There may be timing errors in real-time systems.