1 / 19

Software Engineering 3156

Software Engineering 3156. Fall 2001 Section 1 24-Sep-01 #5: Project, OOA, UML Phil Gross. Administrivia. Recitation looking like Friday 10am Anyone planning to use C++? Project is here. Project Stuff. Going over it in class Will be mutating during the next week

Download Presentation

Software Engineering 3156

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. Software Engineering 3156 Fall 2001 Section 1 24-Sep-01 #5: Project, OOA, UML Phil Gross

  2. Administrivia • Recitation looking like Friday 10am • Anyone planning to use C++? • Project is here 2

  3. Project Stuff • Going over it in class • Will be mutating during the next week • Have three weeks to do specification 3

  4. TCP • One of the protocols on top of IP • Quite popular, but not popular enough to call the whole shebang TCP/IP • Packets will be delivered reliably, once, in order • Will request retransmissions if packets are dropped • Supports multiple recipients per machine with idea of “port” 4

  5. UDP • Alias datagrams • Adds ports to IP, but nothing else • I.e. totally unreliable, packets may be delivered out of order, not at all, multiply, etc. • Used for real-time data 5

  6. Services Listening On Ports • Servers have programs running in the background, waiting for connections on a particluar port • Telnet on 23 • FTP on 21 • Mail (SMTP) on 25 • HTTP on 80 • Many more 6

  7. RFCs • Define entire structure of Internet • Collection of publicly available documents • www.faqs.org/rfcs 7

  8. DNS / nslookup • IP only understands 4-byte address • Has no understanding of www.columbia.edu • DNS (Domain Name System) is an amazing distributed database • Translates names to numbers, globally 8

  9. Socket Programming • Basic client (java.net.*) • http://java.sun.com/docs/books/tutorial/networking/sockets/readingWriting.html • Open a socket to destination machine • Get Input and Output streams from socket • Read and write • Close streams, then sockets 9

  10. Socket Programming II • Basic Server • Listen on a port • Call accept • You will sleep until a connection happens • Then you will have a socket • http://java.sun.com/docs/books/tutorial/networking/sockets/clientServer.html 10

  11. Java Network Programming • Makes networking extremely easy • One of the reasons why Java was hyped so hard in the early days • Turn that stream into an ObjectOutputStream and send objects across the network • C++ much trickier • ACE Framework helps 11

  12. Specifications • UML diagrams • Use case diagrams; • Class diagrams; • Sequence diagrams; • For AI teams, state diagrams. 12

  13. Use Case Diagrams • Neither Janak nor I like these much • The idea is necessary • Silly little stick-figure diagrams less so 13

  14. Class Diagram • The “guts”of UML • Show static class relationships • Generalization = inheritance • Classes, Attributes, and Operations 14

  15. Other Attributes • Association = “has a” • Have multiplicities • And, by extension, mandatory/optional • Can also have role name • Navigability • Constraints/contracts • Composition 15

  16. Sequence Diagrams • Show lifetime of objects • And their interaction • “lifelines” arranged vertically • Same info as collaboration diagram • Has numeric annotations on static diagram 16

  17. State Diagrams • Sloppy FSMs • States, transitions between them • Formal FSM: set of states, set of transitions, transition functions from (state, transition) to new state, set of initial states, set of final or accepting states 17

  18. OOA 1 • Noun extraction • Stepwise refinement of description • Extract nouns • Abstract nouns are often attributes • Rest of nouns are candidates to be classes • Verbs usually become events or actions 18

  19. Event Model • Publishers and Subscribers • Usually implies asynchronous • synchronous is RPC • Reliable or unreliable • Broadcast or multicast 19

More Related