SlideShare a Scribd company logo
1 of 10
Solutions for Homework Assignment 1
•Assignment Points:
•Due Date:
•Final Date:
•Late Penalty:

70
September 26, 2001
October 3, 2001
7 points.
1.2. A programming language is a notation for representing algorithms and data structures.
List two advantages and two disadvantages of using a programming language as sole
notation throughout the development process.

Advantages:
• Developers need only learn one notation for all development activities.
• Traceability among models and between models since they are written in the same
notation
• code is made easier since they are written in the same notation as model
• easier to train staff – only one notation to learn
Disadvantages:
• A programming language is a low level notation that is difficult to use for representing
user requirements, for example.
• A programming language enables and encourages developers to represent
implementation details too early.
1.4. What is meant by “knowledge acquisition is nonlinear”? Provide a concrete example of
knowledge acquisition that illustrates this.

Knowledge acquisition is nonlinear in the sense that the acquisition of a new piece of
knowledge may invalidate prior knowledge. In other terms, knowing one more piece of
information may lead you to realize that what you thought you knew is invalid. For
example, Galileo Galilei invalidated the earth centric model of the universe by observing
the moons of Jupiter and the phases of Venus.
1.6. Specify which of the following statements are functional requirements and which are
nonfunctional requirements:
“The ticket distributor must enable a traveler to buy weekly passes.”
“The ticket distributor must be written in Java.”
“The ticket distributor must be easy to use.”

The first requirement is functional.
The second requirement is nonfunctional.
The third is nonfunctional.
1.7. Specify which of the following decisions were made during requirements or system
design:
“The ticket distributor is composed of a user interface subsystem, a subsystem for computing
tariff, and a network subsystem managing communication with the central computer.”
“The ticket distributor will use PowerPC processor chips.”
“The ticket distributor provides the traveler with an on-line help.”
•“The ticket distributor provides the traveler with an on-line help.”
The first decision is a system design decision.
The second decision is also a system design decision if made by developers (otherwise, it is a
requirements decision).
The third decision is a requirements decision.
1.9. A passenger aircraft is composed of several millions of individual parts and requires
thousands of persons to assemble. A four-lane highway bridge is another example of
complexity. The first version of Word for Windows, a word processor released by Microsoft
in November 1989, required 55 person-years, resulted into 249,000 lines of source code,
and was delivered 4 years late. Aircraft and highway bridges are usually delivered on time
and below budget, whereas software is often not.
Discuss what are, in your opinion, the differences between developing an aircraft, a bridge,
and a word processor, which would cause this situation.

•

•

•
•

•

To estimate the budget and schedule for a new bridge or aircraft, engineers use actual
data from previous bridges and aircraft. Word for Windows was an innovative piece of
software with few or no precedents.
Many bridges and aircraft are simply refinements of other existing artifacts. This reduces
the proportion of the overall effort that is dedicated to design (which is the most difficult
to estimate).
Bridges and aircraft are often associated with severe financial penalties when late or over
budget.
Bridges and aircraft have safety requirements associated with them. This leads to a
conservative approach to development including the use of mature technologies and well
defined processes.
Bridges and aircraft are sometimes delivered late too.
2.1. Draw a use case diagram for a ticket distributor for a train system. The system includes
two actors: a traveler, who purchases different types of tickets, and a central computer
system, which maintains a reference database for the tariff. Use cases should include:
BuyOneWayTicket, BuyWeeklyCard, BuyMonthlyCard, UpdateTariff. Also
include the following exceptional cases: Time-Out (i.e., traveler took too long to insert
the right amount), TransactionAborted (i.e., traveler selected the cancel button
without completing the transaction), DistributorOutOfChange, and
DistributorOutOfPaper.
2.3. Draw an object diagram representing the first part of this book (i.e., Part I, Getting
Started). Make sure that the object diagram you draw is consistent with the class diagram of
Exercise 2.2..
2.6. Draw a sequence diagram for the warehouseOnFire scenario of Figure 2-17 on
page 42 in the book. Include the objects bob, alice, john, FRIEND, and instances of
other classes you may need. Draw only the first five message sends.
2.8. Consider the software development activities which we described in Section 1.4 on page 14 in
the book. Draw an activity diagram depicting these activities, assuming they are executed strictly
sequentially. Draw a second activity diagram depicting the same activities occurring incrementally
(i.e., one part of the system is analyzed, designed, implemented, and tested completely before the
next part of the system is developed). Draw a third activity diagram depicting the same activities
occurring concurrently.

More Related Content

What's hot

Health and safety at work
 Health and safety at work Health and safety at work
Health and safety at workReece Hancock
 
2. APPLICATION OF OCCUPATIONAL HEALTH, SAFETY AND ENVIRONMENTAL MANAGEMENT SY...
2.	APPLICATION OF OCCUPATIONAL HEALTH, SAFETY AND ENVIRONMENTAL MANAGEMENT SY...2.	APPLICATION OF OCCUPATIONAL HEALTH, SAFETY AND ENVIRONMENTAL MANAGEMENT SY...
2. APPLICATION OF OCCUPATIONAL HEALTH, SAFETY AND ENVIRONMENTAL MANAGEMENT SY...AELC
 
Hazard Identification and Risk Assessment
Hazard Identification and Risk AssessmentHazard Identification and Risk Assessment
Hazard Identification and Risk AssessmentMirza Saifullah Baig
 
Risk Assessment Training | JCH Safety
Risk Assessment Training | JCH SafetyRisk Assessment Training | JCH Safety
Risk Assessment Training | JCH Safetyjchsafety
 

What's hot (10)

Health and safety at work
 Health and safety at work Health and safety at work
Health and safety at work
 
2. APPLICATION OF OCCUPATIONAL HEALTH, SAFETY AND ENVIRONMENTAL MANAGEMENT SY...
2.	APPLICATION OF OCCUPATIONAL HEALTH, SAFETY AND ENVIRONMENTAL MANAGEMENT SY...2.	APPLICATION OF OCCUPATIONAL HEALTH, SAFETY AND ENVIRONMENTAL MANAGEMENT SY...
2. APPLICATION OF OCCUPATIONAL HEALTH, SAFETY AND ENVIRONMENTAL MANAGEMENT SY...
 
Accident Investigation
Accident InvestigationAccident Investigation
Accident Investigation
 
General HSE Training (Level 1 & 2)
General HSE Training (Level 1 & 2)General HSE Training (Level 1 & 2)
General HSE Training (Level 1 & 2)
 
Nebosh Igc1 element 2
Nebosh Igc1 element 2Nebosh Igc1 element 2
Nebosh Igc1 element 2
 
nebosh Igc1 element 5
nebosh Igc1 element 5nebosh Igc1 element 5
nebosh Igc1 element 5
 
Lock Out-Tag Out.ppt
Lock Out-Tag Out.pptLock Out-Tag Out.ppt
Lock Out-Tag Out.ppt
 
Safety Management System
Safety  Management  System Safety  Management  System
Safety Management System
 
Hazard Identification and Risk Assessment
Hazard Identification and Risk AssessmentHazard Identification and Risk Assessment
Hazard Identification and Risk Assessment
 
Risk Assessment Training | JCH Safety
Risk Assessment Training | JCH SafetyRisk Assessment Training | JCH Safety
Risk Assessment Training | JCH Safety
 

Similar to Hw1 SE sol

Linux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerLinux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerIOSR Journals
 
Linux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerLinux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerIOSR Journals
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptShashikanth
 
Airline ticket reservation system
Airline ticket reservation systemAirline ticket reservation system
Airline ticket reservation systemSH Rajøn
 
Memory Management in Trading Platforms
Memory Management in Trading PlatformsMemory Management in Trading Platforms
Memory Management in Trading PlatformsIRJET Journal
 
Lesson 27 Choosing a Real-Time Operating System.ppt
Lesson 27 Choosing a Real-Time Operating System.pptLesson 27 Choosing a Real-Time Operating System.ppt
Lesson 27 Choosing a Real-Time Operating System.pptMdRayhanTanvir
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdfSwatantraPrakash5
 
ideas.doc
ideas.docideas.doc
ideas.docbutest
 
OOP - Basing Software Development on Reusable
OOP - Basing Software Development on Reusable OOP - Basing Software Development on Reusable
OOP - Basing Software Development on Reusable 17090AshikurRahman
 
Introduction to Information Systems Canadian 4th Edition Rainer Solutions Manual
Introduction to Information Systems Canadian 4th Edition Rainer Solutions ManualIntroduction to Information Systems Canadian 4th Edition Rainer Solutions Manual
Introduction to Information Systems Canadian 4th Edition Rainer Solutions ManualBradleyNoels
 
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdf
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdfPPT_CLOUD COMPUTING_UNIT 1.pptx.pdf
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdfVineet446350
 
Bangladesh Bank Assistant Maintenance Engineer Question Solution.
Bangladesh Bank Assistant Maintenance Engineer Question Solution.Bangladesh Bank Assistant Maintenance Engineer Question Solution.
Bangladesh Bank Assistant Maintenance Engineer Question Solution.Engr. Md. Jamal Uddin Rayhan
 

Similar to Hw1 SE sol (20)

Lo 03
Lo 03Lo 03
Lo 03
 
Linux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerLinux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop Computer
 
Linux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerLinux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop Computer
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
 
Airline ticket reservation system
Airline ticket reservation systemAirline ticket reservation system
Airline ticket reservation system
 
Memory Management in Trading Platforms
Memory Management in Trading PlatformsMemory Management in Trading Platforms
Memory Management in Trading Platforms
 
Lesson 27 Choosing a Real-Time Operating System.ppt
Lesson 27 Choosing a Real-Time Operating System.pptLesson 27 Choosing a Real-Time Operating System.ppt
Lesson 27 Choosing a Real-Time Operating System.ppt
 
INLS890_ProjectPlan
INLS890_ProjectPlanINLS890_ProjectPlan
INLS890_ProjectPlan
 
INLS890_ProjectPlan
INLS890_ProjectPlanINLS890_ProjectPlan
INLS890_ProjectPlan
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Distributed Systems in Data Engineering
Distributed Systems in Data EngineeringDistributed Systems in Data Engineering
Distributed Systems in Data Engineering
 
Spec lectures
Spec lecturesSpec lectures
Spec lectures
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdf
 
ideas.doc
ideas.docideas.doc
ideas.doc
 
OOP - Basing Software Development on Reusable
OOP - Basing Software Development on Reusable OOP - Basing Software Development on Reusable
OOP - Basing Software Development on Reusable
 
Introduction to Information Systems Canadian 4th Edition Rainer Solutions Manual
Introduction to Information Systems Canadian 4th Edition Rainer Solutions ManualIntroduction to Information Systems Canadian 4th Edition Rainer Solutions Manual
Introduction to Information Systems Canadian 4th Edition Rainer Solutions Manual
 
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdf
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdfPPT_CLOUD COMPUTING_UNIT 1.pptx.pdf
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdf
 
Bangladesh Bank Assistant Maintenance Engineer Question Solution.
Bangladesh Bank Assistant Maintenance Engineer Question Solution.Bangladesh Bank Assistant Maintenance Engineer Question Solution.
Bangladesh Bank Assistant Maintenance Engineer Question Solution.
 
ConsulMetrixAEB
ConsulMetrixAEBConsulMetrixAEB
ConsulMetrixAEB
 

More from wahab13

Texture mapping
Texture mapping Texture mapping
Texture mapping wahab13
 
Abbott's Textual Analysis : Software Engineering 2
Abbott's Textual Analysis : Software Engineering 2Abbott's Textual Analysis : Software Engineering 2
Abbott's Textual Analysis : Software Engineering 2wahab13
 
deadlock avoidance
deadlock avoidancedeadlock avoidance
deadlock avoidancewahab13
 
Polygon Fill
Polygon FillPolygon Fill
Polygon Fillwahab13
 
Mch7 deadlock
Mch7 deadlockMch7 deadlock
Mch7 deadlockwahab13
 
Paging examples
Paging examplesPaging examples
Paging exampleswahab13
 

More from wahab13 (6)

Texture mapping
Texture mapping Texture mapping
Texture mapping
 
Abbott's Textual Analysis : Software Engineering 2
Abbott's Textual Analysis : Software Engineering 2Abbott's Textual Analysis : Software Engineering 2
Abbott's Textual Analysis : Software Engineering 2
 
deadlock avoidance
deadlock avoidancedeadlock avoidance
deadlock avoidance
 
Polygon Fill
Polygon FillPolygon Fill
Polygon Fill
 
Mch7 deadlock
Mch7 deadlockMch7 deadlock
Mch7 deadlock
 
Paging examples
Paging examplesPaging examples
Paging examples
 

Recently uploaded

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Hw1 SE sol

  • 1. Solutions for Homework Assignment 1 •Assignment Points: •Due Date: •Final Date: •Late Penalty: 70 September 26, 2001 October 3, 2001 7 points.
  • 2. 1.2. A programming language is a notation for representing algorithms and data structures. List two advantages and two disadvantages of using a programming language as sole notation throughout the development process. Advantages: • Developers need only learn one notation for all development activities. • Traceability among models and between models since they are written in the same notation • code is made easier since they are written in the same notation as model • easier to train staff – only one notation to learn Disadvantages: • A programming language is a low level notation that is difficult to use for representing user requirements, for example. • A programming language enables and encourages developers to represent implementation details too early.
  • 3. 1.4. What is meant by “knowledge acquisition is nonlinear”? Provide a concrete example of knowledge acquisition that illustrates this. Knowledge acquisition is nonlinear in the sense that the acquisition of a new piece of knowledge may invalidate prior knowledge. In other terms, knowing one more piece of information may lead you to realize that what you thought you knew is invalid. For example, Galileo Galilei invalidated the earth centric model of the universe by observing the moons of Jupiter and the phases of Venus.
  • 4. 1.6. Specify which of the following statements are functional requirements and which are nonfunctional requirements: “The ticket distributor must enable a traveler to buy weekly passes.” “The ticket distributor must be written in Java.” “The ticket distributor must be easy to use.” The first requirement is functional. The second requirement is nonfunctional. The third is nonfunctional.
  • 5. 1.7. Specify which of the following decisions were made during requirements or system design: “The ticket distributor is composed of a user interface subsystem, a subsystem for computing tariff, and a network subsystem managing communication with the central computer.” “The ticket distributor will use PowerPC processor chips.” “The ticket distributor provides the traveler with an on-line help.” •“The ticket distributor provides the traveler with an on-line help.” The first decision is a system design decision. The second decision is also a system design decision if made by developers (otherwise, it is a requirements decision). The third decision is a requirements decision.
  • 6. 1.9. A passenger aircraft is composed of several millions of individual parts and requires thousands of persons to assemble. A four-lane highway bridge is another example of complexity. The first version of Word for Windows, a word processor released by Microsoft in November 1989, required 55 person-years, resulted into 249,000 lines of source code, and was delivered 4 years late. Aircraft and highway bridges are usually delivered on time and below budget, whereas software is often not. Discuss what are, in your opinion, the differences between developing an aircraft, a bridge, and a word processor, which would cause this situation. • • • • • To estimate the budget and schedule for a new bridge or aircraft, engineers use actual data from previous bridges and aircraft. Word for Windows was an innovative piece of software with few or no precedents. Many bridges and aircraft are simply refinements of other existing artifacts. This reduces the proportion of the overall effort that is dedicated to design (which is the most difficult to estimate). Bridges and aircraft are often associated with severe financial penalties when late or over budget. Bridges and aircraft have safety requirements associated with them. This leads to a conservative approach to development including the use of mature technologies and well defined processes. Bridges and aircraft are sometimes delivered late too.
  • 7. 2.1. Draw a use case diagram for a ticket distributor for a train system. The system includes two actors: a traveler, who purchases different types of tickets, and a central computer system, which maintains a reference database for the tariff. Use cases should include: BuyOneWayTicket, BuyWeeklyCard, BuyMonthlyCard, UpdateTariff. Also include the following exceptional cases: Time-Out (i.e., traveler took too long to insert the right amount), TransactionAborted (i.e., traveler selected the cancel button without completing the transaction), DistributorOutOfChange, and DistributorOutOfPaper.
  • 8. 2.3. Draw an object diagram representing the first part of this book (i.e., Part I, Getting Started). Make sure that the object diagram you draw is consistent with the class diagram of Exercise 2.2..
  • 9. 2.6. Draw a sequence diagram for the warehouseOnFire scenario of Figure 2-17 on page 42 in the book. Include the objects bob, alice, john, FRIEND, and instances of other classes you may need. Draw only the first five message sends.
  • 10. 2.8. Consider the software development activities which we described in Section 1.4 on page 14 in the book. Draw an activity diagram depicting these activities, assuming they are executed strictly sequentially. Draw a second activity diagram depicting the same activities occurring incrementally (i.e., one part of the system is analyzed, designed, implemented, and tested completely before the next part of the system is developed). Draw a third activity diagram depicting the same activities occurring concurrently.

Editor's Notes

  1. 5 Points. Deduct 2 points if student fails to give two advantages and two disadvantages. Otherwise, accept any two advantages and disadvantages.
  2. 5 Points [Student must get the right idea – that as the project goes on, you learn more about what you didn’t already know, so you suddenly realize that you have more learning to do. Deduct 2 points if student does not have right idea].
  3. 5 Points. [-1 for each incorrect answer, -3 points maximum]
  4. 5 Points. [-1 for each incorrect answer, -3 points maximum]
  5. 10 Points. [If student gives ANY 2 (or more reasons), they get 9 points. If they give one reason (any reason), they get 8 points. If they give 2 or more reasons and at least one reason is from list below, they get full credit. If they give two or more from below, they get full credit AND write “VERY GOOD!).
  6. 10 Points. This question can have several correct answers, The figure above is a good answer. The following elements should be present:   Must use correct symbols for actors (stick figure) and use cases (oval) [-1, one time deduction] The relationship between an actor and a use case is a communication relationship (undirected solid line). [-1, one time deduction] The relationship between exceptional use cases and common use cases is an <<extend>> relationship. [-1, one time deduction] The exceptional use cases described in the exercise only apply to the use cases invoked by the traveler. [-1, one time deduction] All exceptions apply to all traveler use cases. Instead of drawing 3x4 relationships between these use cases, an abstract use case from which the exceptional use case inherit can be used, thus reducing the number of <<extend>> relationships to3 at the cost of introducing 4 generalization relationships [-1].
  7. 10 points Objects of the four classes Book, Part, Chapter, and Section must be present. [-2 points if any class is missing – Note. Deduct 2 points only once!) Objects are represented with rectangles and underlined labels. [-1, one time deduction] The class of an object is included in the label of the object (e.g., uml:Chapter is of class Chapter). [-1, one time deduction] Links are represented with solid lines [-1, one time deduction]
  8. 10 Points This exercise can have several correct answers. In addition to the UML rules on sequence diagrams, all correct sequence diagrams for this exercise should include: Correct UML syntax for sequence diagrams: Actors (stick figures), Activations (vertical rectangles), Life-lines (vertical dashed lines) [ -1, one time deduction] one or more actors on the left of the diagram who initiate the scenario [-1] one or more objects in the center of the diagram which represent the system [-1] a dispatcher actor on the right of the diagram who is notified of the emergency. [-1] All actors and objects should be instances. [-1] Messages sent between instances are correct. [-1]
  9. 10 Points. This exercise tests the student’s knowledge of the activity diagram syntax, not the knowledge of software engineering activities. In the sample solution we assume that requirements elicitation needs to be completed before any subsystem decomposition can be done.   A correct answer will include:   3 diagrams (sequential, Incremental, and Concurrent) [-3 for each missing diagram] Each diagram should show 5 activities [-1 for any activity missing] Correct diagram syntax (rounded rectangle for activity, solid line with arrow for flow [-1 one time only for a syntax error. But do deduct for two different kinds of syntax error, for example, dotted lines or not-oval are separate deductions] Diagrams that include requirements in incremental or concurrent flows will not be penalized.