1 / 21

CS 501: Software Engineering Fall 1999

This report discusses the progress of highly promising software engineering projects, highlighting challenges such as time constraints and unexpected events. It also explores the importance of thinking for the long-term and addresses topics like system security, data privacy, requirements, design, and implementation.

corral
Download Presentation

CS 501: Software Engineering Fall 1999

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 501: Software EngineeringFall 1999 Lecture 18 (a) Project Reports (b) Object-Oriented Design III

  2. Administration  Recitation session: Rational Rose

  3. Project 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

  4. Thinking 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, ...)

  5. Network Security Server Vulnerable information Application Internet Database Web server SendMail Insecure components

  6. Network Security: Use of Firewall Server 2 Server 1 Web server Application Firewall Internet Relay Relay SendMail Database

  7. Privacy  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 ....

  8. Requirements, 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?

  9. Final 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

  10. Final Deliverables Documentation and programs  Delivered to: Client and graders  Due: Last day of classes Project will be graded on:  Client satisfaction  Usability  Maintainability

  11. Actor 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

  12. Use Cases and Actors  A scenario is an instance of ause 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.

  13. Use Cases for Borrowing Books Borrow copy of book BookBorrower Return copy of book Reserve book Extend loan

  14. Extend loan Relationships Between Use Cases: <<uses>> <<uses>> Check for reservation BookBorrower Borrow copy of book <<uses>>

  15. Relationships Between Use Cases: <<extends>> <<extends>> Refuse loan Borrow copy of book BookBorrower

  16. Use 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

  17. Actions on Objects returnCopy(c) call return send create destroy okToBorrow() local status notifyReturn(b) asynchronous signal <<create>> stereotypes <<destroy>>

  18. Copy Links LibraryMember +borrowCopy() +returnCopy() 1 on loan 0..* association class message borrowCopy(c) c:Copy libMem:LibraryMember link object

  19. Sequence Diagram: Change in Cornell Program :MEngStudent Cornellian 1 : getName() 1.1 : name 2: new PhDStudent(name) :PhDStudent 3: <<destroy>> sequence numbers added to messages

  20. Sequence Diagram: Borrow copy of a Book libMem: LibraryMember theBook:Book BookBorrower theCopy:Copy borrow(theCopy) okToBorrow borrow borrow

  21. State Diagram returned() returned() not borrowable borrowable borrowed()[last copy] borrowed()[not last copy] State diagram for class Book

More Related