cse3308/csc3080 - software engineering: analysis and designlecture 13.1 software engineering:...

21
CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

Post on 22-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.1

Software Engineering: Analysis and Design - CSE3308

Exam Revision

CSE3308/CSC3080/DMS/2000/32

Page 2: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.2

Question 1(a) - Use Cases

First Step - fill in the basic details

Use Case: Buy Items with EFTPOS

Actors: Customer (initiator), Cashier

Purpose: Capture a sale and its EFTPOS payment

Overview: A Customer arrives at a checkout with items topurchase. The Cashier records the purchase items. The Cashier inputs the details for the EFTPOS transaction. The Customer enters theirPIN number. On completion, the Customer leaves with the items.

Type: primary and essential

Page 3: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.3

Q 1(a)

1. This use case begins when a Customer arrives at the register with items to purchase.

2. The cashier records the identifier from each item. If more than one of the same item, the Cashier can enter the quantity as well.

4. Cashier indicates completion of item entry.

6. Cashier tells the Customer the total.

3. Determines the item price and adds the item informationto the running sales transaction. The descriptionand price of the item are presented.

TYPICAL COURSE OF EVENTS

ACTOR ACTION SYSTEM RESPONSE

5. Calculates and presents the sale total.

Page 4: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.4

Q 1(a)

7. The Customer indicates an EFTPOS payment will be made.

8. Cashier asks Customer for account type and cash out amount

9. Cashier enters amount of payment, type of account and cash out amount

11. Customer enters PIN Number.

13. Cashier issues receipt and required cash

ACTOR ACTION SYSTEM RESPONSE

10. System asks Customer for PIN Number

12. System checks PINNumber and account balance

Page 5: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.5

Q 1(a)ACTOR ACTION SYSTEM RESPONSE

14. Customer takes goods

Alternative Courses Line 2: Invalid identifier entered. Indicate

error Line 7: Cash payment made (see Lecture 4a) Line 13: Invalid PIN Number, PIN number

must be re-entered Line 13: Insufficient Funds: use alternative

payment method

Page 6: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.6

Q 1(a)

Line 10: System checks credit balance and prints out credit card receipt

Line 11: Customer signs credit card receipt

Page 7: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.7

Q 1 (b)

Purchase Goods

Customer Cashier

Page 8: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.8

Q 1(c)

Primary - represent major common processes

Secondary - represent minor or rare processes

Optional - processes that may not be implemented in the system depending upon resources

Page 9: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.9

Question 2 (a) - Class Diagram Possible Classes

Supermarket Section Stock Line Product Type

Frozen Perishable Medium-term Long-term

Shelf Refrigerated Chilled Standard

Cashier Cashier Station EFTPOS Transaction Scanner Keyboard Scales Display Panel EFTPOS Terminal

Page 10: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.10

Q2 (a) - Possible Class Diagram

StandardChilledRefrigerated

Shelf

Frozen

Long Term

MediumTerm

Perishable

ProductType

Stock Line

Section

Supermarket

EFTPOSTransaction

Cashier

Scanner Scales KeyboardDisplayPanel

Cashier Station

operates

issues

has

controls

*

1..*

1..*

*stored

scans

*

0..1

EFTPOSTerminal*

*

1

1

Page 11: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.11

Q 2bInvolved Classes

Cashier

Cashier Station

EFTPOS Transaction

Scanner

Keyboard

Scales

Display Panel

Product Type

Page 12: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.12

Collaboration Diagram

:Keyboard

:DisplayPanel

:Scanner

:Product Type

:EFTPOSTransaction

:CashierStation

10: confirm purchase7: send transaction

1*: barcode details

2*: get price

:EFTPOSTerminal

4* : product price

5*: display price

3*: update quantity

8: get PIN

6: transaction details

9: send transaction

Page 13: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.13

Q 3(a) Structured Stuff

Crazy Al’sCars

Taxation Department

Car Seller

SalespersonPurchaser

Management

Mechanic

Sales reportPurchases report

Tax payable

TransferInfo

Service cost

Repair detailsSale details

Car details

Purchaser details

Page 14: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.14

Q3b

SearchFor Car

ProduceTax

ReportProduce

MgmtReports

TransferCar to

Mechanic

SellCar

PurchaseCar

Car Seller

CAR

Mechanic

PURCHASER

Transfer info

Service cost, repair details Car details

problems

Repair costs

Car details

Car details

Purchaser

Purchaserdetails

TaxDepartment

Management

Car details

Sales and purchase report

Sales andPurchasedetails

Tax details

Taxation report

Purchaserdetails

Sale details

Note: this diagram should also include the “Salesperson” terminator

Page 15: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.15

Q 3c Structured EnglishSearch for an appropriate car for a customer

GET customer-requirements

LOOP not (at end of CAR or car-found)

SEARCH CAR for match

DISPLAY CAR details

IF car satisfactory

SET car-found = True

ENDIF

ENDLOOP

Page 16: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.16

Question 4(a) and (b)

Three most likely risks Increased size of the project relative to what the company

has done before

» use incremental development, break down into useable chunks, don’t try to build the whole system at once, monitor project progress on a continuing basis, hire new staff who have worked on this size project, define software process

Uncertainty of requirements by the customer

» use prototyping to help refine requirements, ensure contract has some flexibility at early stages on cost

The inexperience of staff in analysis and design methods

» bring in experienced consultants/mentors, ensure good training for all relevant staff, have formal and informal technical reviews

Page 17: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.17

Q 4(a) and (b)

Project management issues, e.g. communications between the various parts of the project team

» establish a formal communications method, have social activities involving all team members, provide meeting places (e.g. tea room where different parts can mix)

Inability of manager to take hands-off approach

» pick people that you can trust

Page 18: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.18

Q 4(c)

To get benefits from quality standards must use sound management techniques must aim at improving the process employees must actively participate integrate the quality standard documentation with the

already existing documentation

Quality standards are of greatest value to those organisations which don’t already have formal development processes

They don’t replace individual skills and abilities They can only be as good as the work practices

which they document

Page 19: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.19

Q4 (d)

Business Systems Planning given the uncertainty of the customer’s requirements

Project Management and Planning especially project estimation and control tools

Development Support especially quality assurance tools, based on the need to

move to AS3563

Analysis and Design given that there will be a much larger team and the need to

maintain communication across a large group

Prototyping given the need for handling uncertain requirements

Page 20: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.20

Q 4(e)

Management commitment Alignment with organisation culture and work

practices Training Involving users Selecting appropriate tools Having realistic expectations - often a drop in

productivity in the first year Matching the tool’s methodology with the

organisation’s methodology Getting help

Page 21: CSE3308/CSC3080 - Software Engineering: Analysis and DesignLecture 13.1 Software Engineering: Analysis and Design - CSE3308 Exam Revision CSE3308/CSC3080/DMS/2000/32

CSE3308/CSC3080 - Software Engineering: Analysis and Design Lecture 13.21

Q 5

Set an agenda and maintain it Insist on advance preparation Develop a checklist for each work product Allocate resources and time Conduct meaningful training Review earlier reviews