cse3308 - software engineering: analysis and design, 2001lecture 13.1 software engineering: analysis...
Post on 22-Dec-2015
214 views
TRANSCRIPT
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 13.1
Software Engineering: Analysis and Design - CSE3308
Exam Revision
1998 Practice Exam
CSE3308/DMS/2001/32
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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.
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 13.7
Q 1 (b)
Purchase Goods
Customer Cashier
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 13.10
Supermarket
Section
1..*
1
1..*
StockLine
1..*
1
controls
Perishable MediumTerm LongTermFrozen
1..*
1..*
Chilled StandardRefrigerated
Shelf
ProductTypehas
1..*
1..*
stores
0..*
0..*Scanner
0..*
0..*
scans
Scales
Keyboard
DisplayPanel
Cashier 0..*0..* CashierStation
1
1
1
0..*0..* operates
1
EFTPOS Terminal
1
EFTPOS Transaction
0..*
issues
0..*
1
1
1
1
1
1..*
Q2 (a) - Possible Class Diagram
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 13.11
Q 2bInvolved Classes
Cashier
Cashier Station
EFTPOS Transaction
Scanner
Keyboard
Scales
Display Panel
Product Type
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 13.12
Collaboration Diagram
: CashierStation : Scanner
: ProductType
: DisplayPanel
: Keyboard
: EFTPOS Terminal
: EFTPOS Transaction
9: getPIN ( )
1: * addProduct ( )
2: * getPrice ( )3: * decrementStock ( )
4: * displayPrice ( )
6: new ( )7: confirmPayment ( )
5: FinaliseSale( )
8: doTransaction ( )
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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
CSE3308 - Software Engineering: Analysis and Design, 2001 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