Download presentation
Presentation is loading. Please wait.
1
Software Engineering 3156 Fall 2001 Section 1 24-Sep-01 #5: Project, OOA, UML Phil Gross
2
2 Administrivia Recitation looking like Friday 10am Anyone planning to use C++? Project is here
3
3 Project Stuff Going over it in class Will be mutating during the next week Have three weeks to do specification
4
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”
5
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
6
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
7
7 RFCs Define entire structure of Internet Collection of publicly available documents www.faqs.org/rfcs
8
8 DNS / nslookup IP only understands 4-byte address Has no understanding of www.columbia.eduwww.columbia.edu DNS (Domain Name System) is an amazing distributed database Translates names to numbers, globally
9
9 Socket Programming Basic client (java.net.*) http://java.sun.com/docs/books/tutorial/network ing/sockets/readingWriting.html http://java.sun.com/docs/books/tutorial/network ing/sockets/readingWriting.html Open a socket to destination machine Get Input and Output streams from socket Read and write Close streams, then sockets
10
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/network ing/sockets/clientServer.html http://java.sun.com/docs/books/tutorial/network ing/sockets/clientServer.html
11
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
12
12 Specifications UML diagrams – Use case diagrams; – Class diagrams; – Sequence diagrams; – For AI teams, state diagrams.
13
13 Use Case Diagrams Neither Janak nor I like these much The idea is necessary Silly little stick-figure diagrams less so
14
14 Class Diagram The “guts”of UML Show static class relationships Generalization = inheritance Classes, Attributes, and Operations
15
15 Other Attributes Association = “has a” Have multiplicities – And, by extension, mandatory/optional Can also have role name Navigability Constraints/contracts Composition
16
16 Sequence Diagrams Show lifetime of objects And their interaction “lifelines” arranged vertically Same info as collaboration diagram – Has numeric annotations on static diagram
17
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
18
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
19
19 Event Model Publishers and Subscribers Usually implies asynchronous – synchronous is RPC Reliable or unreliable Broadcast or multicast
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.