Title: CS 501: Software Engineering Fall 1999
1CS 501 Software EngineeringFall 1999
Lecture 18 (a) Project Reports (b)
Object-Oriented Design III
2Administration
? Recitation session Rational Rose
3Project Progress
? All projects are highly promising, some are
exceptional. ? Major concern is the time to
completion. ? Real life experiences Client
representative leaves suddenly Team member drops
course First approach not adequate (performance
of animation) ? Start-up delays learning,
studying technical options, access to
software and facilities, scheduling meetings
4Thinking for the Long Term
Believe that your software will be in use 5 years
from now. ? What happens at end of
semester? Packaging and hand-over Client's
technical preferences (C, Java) ? Some system
decisions based on short-term considerations ?
Which formats, protocols, etc. do you think will
last? (IIOP, RMI, SNMP, ...)
5Network Security
Server
Vulnerable information
Application
Internet
Database
Web server
SendMail
Insecure components
6Network Security Use of Firewall
Server 2
Server 1
Web server
Application
Firewall
Internet
Relay
Relay
SendMail
Database
7Privacy
? Does you system collect personal data? ? Does
the user know that you are collecting personal
data? ? Who is supposed to have access to that
data? Example Dartmouth Medical School ? Who
actually has access to that data? Example
Personnel data files ..... the first subpoena ....
8Requirements, Design and Implementation
Remember the definitions. Example Consistency
between two players of a board game ? The
requirement is ..... ? The design is ..... What
is a requirements specification?
9Final Presentation First Thoughts
? Last week of classes -- 3 or 4 day period ?
Presentation in front of Client(s) Bill
Arms All CS 510 Class is invited Guests ?
Time 45 minutes ? Format -- you select
from Slides Online demonstrations Hand outs
10Final Deliverables
Documentation and programs ? Delivered to
Client and graders ? Due Last day of
classes Project will be graded on ? Client
satisfaction ? Usability ? Maintainability
11Actor and Use Case
? An actor is a user of a system in a
particular role. An actor can be human or
an external system. ? A use case is a a
task that an actor needs to perform with
the help of the system.
BookBorrower
Borrow book
12Use Cases and Actors
? A scenario is an instance of a use case ?
Actor is role, not an individual (e.g.,
librarian can have many roles) ? Actor must be a
"beneficiary" of the use case (e.g., not
librarian who processes book when borrowed) In
UML, the system boundary is the set of use cases.
13Use Cases for Borrowing Books
Borrow copy of book
BookBorrower
Return copy of book
Reserve book
Extend loan
14Relationships Between Use Cases ltltusesgtgt
ltltusesgtgt
Check for reservation
BookBorrower
Borrow copy of book
ltltusesgtgt
15Relationships Between Use Cases ltltextendsgtgt
Refuse loan
ltltextendsgtgt
Borrow copy of book
BookBorrower
16Use Cases in the Development Cycle
? Use cases are a tool in requirements
analysis ? Intuitive -- easy to discuss with
clients ? Use cases are often hard to translate
into class models ? Scenarios are useful to
validate design
17Actions on Objects
returnCopy(c)
call return send create destroy
okToBorrow()
local
status
notifyReturn(b)
asynchronous signal
ltltcreategtgt
stereotypes
ltltdestroygtgt
18Links
LibraryMember borrowCopy() returnCopy()
1
0..
on loan
association
class
message
borrowCopy(c)
cCopy
libMemLibraryMember
link
object
19Sequence Diagram Change in Cornell Program
MEngStudent
Cornellian
1 getName()
1.1 name
2 new PhDStudent(name)
PhDStudent
3 ltltdestroygtgt
sequence numbers added to messages
20Sequence Diagram Borrow copy of a Book
libMem LibraryMember
theBookBook
BookBorrower
theCopyCopy
borrow(theCopy)
okToBorrow
borrow
borrow
21State Diagram
returned()
returned()
not borrowable
borrowable
borrowed()last copy
borrowed()not last copy
State diagram for class Book