Software Engineering 3156 - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Software Engineering 3156

Description:

One of the protocols on top of IP ... Navigability. Constraints/contracts. Composition. Sequence Diagrams. Show lifetime of objects ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 20
Provided by: philip134
Category:

less

Transcript and Presenter's Notes

Title: Software Engineering 3156


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

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

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
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
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
RFCs
  • Define entire structure of Internet
  • Collection of publicly available documents
  • www.faqs.org/rfcs

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

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

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

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
Specifications
  • UML diagrams
  • Use case diagrams
  • Class diagrams
  • Sequence diagrams
  • For AI teams, state diagrams.

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

14
Class Diagram
  • The gutsof UML
  • Show static class relationships
  • Generalization inheritance
  • Classes, Attributes, and Operations

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

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
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
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
Event Model
  • Publishers and Subscribers
  • Usually implies asynchronous
  • synchronous is RPC
  • Reliable or unreliable
  • Broadcast or multicast
Write a Comment
User Comments (0)
About PowerShow.com