1 / 60

Challenging Projects and Virtual Labs in Web-enhanced IT Classes

8 th NCTT Annual Curriculum Workshop Springfield, Massachusetts, July 11-14, 2005. Challenging Projects and Virtual Labs in Web-enhanced IT Classes. Vladimir Riabov Associate Professor Department of Mathematics & Computer Science Rivier College, USA E-mail: vriabov@rivier.edu. Agenda:.

guang
Télécharger la présentation

Challenging Projects and Virtual Labs in Web-enhanced IT Classes

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. 8th NCTT Annual Curriculum Workshop Springfield, Massachusetts, July 11-14, 2005 Challenging Projects and Virtual Labs in Web-enhanced IT Classes Vladimir Riabov Associate Professor Department of Mathematics & Computer Science Rivier College, USA E-mail: vriabov@rivier.edu

  2. Agenda: • Web-enhanced IT Classes at Rivier College; • Lecture Notes and Web Resources; • Class Assignments; • Virtual OPNET Labs; • Examples of Students’ Projects and Research: • Project Papers (SANs, WiFi, Gigabit Ethernet, etc.) • Digital Video Cluster Simulation with OMNeT++ • Code Complexity Analysis for two projects in Networking • Conclusion Web-enhanced IT Classes

  3. Web-enhanced IT Classes at Rivier College • Undergraduate and Graduate Programs in CS & CIS http://www.rivier.edu/departments/mathcs/home/cs/CSIndex.htm • Certificates in Networking and Information Technologies • IT-related Courses: • CS553: Introduction to Networking Technology • CS572: Computer Security • CS573: Advanced Wide Area Networks • CS575: Advanced Local Area Networks • CS597: Multimedia and Web Development • CS612: Information Technology • CS632: Client/Server Computing • CS685: Network Management, and others • Web-enhanced Classes across CS/CIS Curricula Web-enhanced IT Classes

  4. Lecture Notes and Web Resources • Instructor’s Web site (Teaching, Research & Publications): http://www.rivier.edu/faculty/vriabov/ • Web sites for IT Courses • Syllabi • Lecture Notes • Assignments • Schedules • Resources • Examples of Students’ Project Papers • Web Resources Web-enhanced IT Classes

  5. Class Assignments • Warm-up Exercises • Homework Assignments • Virtual Labs • Midterm Exams • Project Papers • Research Reports • Final Exams Web-enhanced IT Classes

  6. Warm-up Exercises (examples) • What is the last digit of the number25975927[mod(10)]? • Using MSExcel™ spreadsheet, find the last digit of the number253 [mod(10)]? • How to use your findings in these two cases forencryptinge-messages? Web-enhanced IT Classes

  7. Last digit of the number25975927[mod(10)]? • It’s enough to consider the last digit of a simpler number 75927; • Do your experiments (see Table)! • “LAST” can be 7, 9, 3, or 1 only; therefore, it is a cycle of four cases; • The power, 5927 can be represented as 5927 = 4*1481+3; • Therefore, “LAST” of 75927 is the same as the “LAST” of 73, which is “3”. • Answer: “3”. Web-enhanced IT Classes

  8. Last digit of the number253[mod(10)]? • “LAST” digit can be 2, 4, 8, or 6 only; therefore, it is a cycle of four cases; • The power, 53 can be represented as 53 = 4*13+1; • The “LAST” of 253 is the same as the “LAST” of 21, which is “2”. • Therefore, following this algorithm, the last digit of the number 253 must be 2; • Try MS Excel™Spreadsheet (see Table)! • Why the last digit of the number 253 is 0 there? • HINT: Consider the number of “valuable” digits in large natural numbers calculated with MS Excel™! Web-enhanced IT Classes

  9. Homework Assignments (example 1) • Using Manchester Encoding Format, encode a bit-stream that represents two first letters of your last name previously written in the ASCII (7-bit) Coding Standard. Using MS Word, plot a diagram that illustrates your Manchester code. Web-enhanced IT Classes

  10. Homework Assignments (example 2) • Plot a diagram that illustrates a virtual private connection from your home computer to the Rivier College Network.Briefly describeissues that should be resolved for establishing this connection. Web-enhanced IT Classes

  11. Homework Assignments (example 3) A LAN has a data rate of r=4 Mbps and a propagation delay between two stations at opposite ends of d=20 μs. For what range of PDU sizes (S, measured in bits) does the stop-and-wait flow control give an efficiency of at least 50%, E > 0.5? (neglect the transmission time for the ACK signal). The efficiency, E is defined as a ratio of the PDU transmission time (time for inserting the PDU onto the medium) to the total time the medium is occupied for this one PDU. Stop-and-wait flow control Crystal Yu’s solution:S=? T=S/r is PDU-transmission time; E=T/(T+d+d);E > 0.5; T>0.5*(T+2*d); T>2d; S>2*d*r; S>2*20*10-6*4*106; Answer:S>160 bits Web-enhanced IT Classes

  12. Visiting the IT Services Department Web-enhanced IT Classes

  13. Visiting the IT Services Department Web-enhanced IT Classes

  14. Virtual Labs • OPNET IT Guru Academic Edition™ : http://enterprise37.opnet.com/4dcgi/COMMUNITY_HOME http://www.opnet.com/services/university/home.html • OPNET Virtual Lab Manuals: • http://www.opnet.com/services/university/lab_manuals.html • William Stallings, Business Data Communications, Fifth Edition • William Stallings, Data and Computer Communications, Seventh Edition • Raymond R. Panko, Business Data Networks and Telecommunications, Fourth Edition • Larry L. Peterson and Bruce S. Davie, Computer Networks – A Systems Approach,Third Edition. Web-enhanced IT Classes

  15. Virtual Labs • Four-Six OPNET™ Virtual Labs per Course: http://www1.us.elsevierhealth.com:8300/MKP/Aboelela/manual/index.html L00: Introduction - Basics of OPNET IT Guru Academic Edition™ L01: Ethernet - A Direct Link Network with Media Access Control L02: Token Ring - A Shared-Media Network with Media Access Control L03: Switched LANs - A Set of Local Area Networks Interconnected by Switches L04: Network Design - Planning a Network with Different Users, Hosts, and Services L05: ATM - A Connection-Oriented, Cell-Switching Technology L06: RIP: Routing Information Protocol - A Routing Protocol Based on the Distance-Vector Algorithm L07: OSPF: Open Shortest Path First - A Routing Protocol Based on the Link-State Algorithm L08: TCP: Transmission Control Protocol - A Reliable, Connection-Oriented, Byte-Stream Service L09: Queuing Disciplines - Order of Packet Transmission and Dropping L10: RSVP: Resource Reservation Protocol - Providing QoS by Reserving Resources in the Network L11: Firewalls and VPN - Network Security and Virtual Private Networks L12: Applications - Network Application Performance Analysis Web-enhanced IT Classes

  16. Virtual Lab Basics Web-enhanced IT Classes

  17. Lab Project Editor Window Web-enhanced IT Classes

  18. Lab: Network Expansion Plan In this lesson, you plan for the expansion of a small company’s intranet. Currently, the company has astar topology network on the first floorof its office building and plans toadd an additional star topology network on another floor. You will build and test this “what-if” scenario to ensure that the load added by the second network will not cause the network to fail. Web-enhanced IT Classes

  19. Creating a New Scenario Use the Startup Wizard to set up a new scenario: 1 If IT Guru is not already running, start it. 2 Select File > New.... 3 Select Project from the pull-down menu and click OK. 4 Name the project and scenario, as follows: 4.1 Name the project <initials>_Sm_Int Include your initials in the project name to distinguish it from other versions of this project. 4.2 Name the scenario first_floor. 4.3 Click OK.  The Startup Wizard opens. 5 Enter the values shown in the following table in the dialog boxes of the Startup Wizard: Web-enhanced IT Classes

  20. Creating the Network Web-enhanced IT Classes

  21. Creating the Network (Step 2) Building a Server, Application & Profile Web-enhanced IT Classes

  22. Expanding the Network & Comparing Results (Step 3) Comparing Results Web-enhanced IT Classes

  23. Students’ Project Papers: “Storage Area Networks (SANs)” Fibre Channel Technology for Storage Area Networks by David Norman (fibre.pdf file is available) V. Riabov, "Storage Area Networks," The Internet Encyclopedia, Wiley & Sons, Dec. 2003, pp. 1-11. Web-enhanced IT Classes

  24. Students’ Project Papers on Selected Networking Protocols Gigabit Ethrnet, QoS, and Multimedia Applications by Jeff Corbit (gigabit-ethernet.pdf file is available) V. Riabov, “Simple Mail Transfer Protocol," The Handbook of Information Security, Wiley & Sons, Dec. 2005, pp. 1-22. Web-enhanced IT Classes

  25. Students’ Project Papers: “WiFi Technologies” Secure Wi-Fi Technologies for Enterprise LAN Network by Tom Borick (wifi.pdf file is available) V. Riabov, “Going Wireless," Rivier Today Magazine, March 2005. Web-enhanced IT Classes

  26. Digital Video Cluster Simulation with OMNeT++ Digital Video Cluster Simulation by Martin Milkovits (cluster.pdf file is available) Varga, Andras. 2004, OMNeT++ Version 3.0 User Manual [online]. Available via <http://www.omnetpp.org/>. Web-enhanced IT Classes

  27. Digital Video Cluster Simulation (continue) From: Digital Video Cluster Simulation by Martin Milkovits Web-enhanced IT Classes

  28. Digital Video Cluster Simulation (results) From: Digital Video Cluster Simulation by Martin Milkovits Web-enhanced IT Classes

  29. Research Project: “Networking Software Studies with the Structured Testing Methodology” Presented by V. Riabov at the International Conference on Computer Science & Information Systems, Athens, Greece, 16-18 June 2005 (software.pdf file is available on Web) Web-enhanced IT Classes

  30. McCabe’s Structured Testing Methodology Approach and Tools for Networking Software Development • McCabe’s Structured Testing Methodology is:  a unique methodology for software testing proposed by McCabe in 1976;  approved as the NIST Standard (1996) in the structured testing;  a leading tool in computer, military, and aerospace industries (HP, GTE, AT&T, Alcatel, GIG, Boeing, NASA, etc.) since 1977;  provides Code Coverage Capacity. • Author’s Experience with McCabe IQ Tools since 1998  leaded three projects in networking industry that required Code Analysis, Code Coverage, and Test Coverage;  completed BCN Code Analysis with McCabe Tools;  completed BSNCode Analysis with McCabe Tools;  studied BSN-OSPF Code Coverage & Test Coverage;  included these topics into Software Engineering and Networking classes since 1999. Web-enhanced IT Classes

  31. McCabe’s Structured Testing Methodology Basics • The key requirement of structured testing is that all decision outcomes must be exercised independently during testing. • The number of tests required for a software module is equal to the cyclomatic complexityof that module. • The software complexity is measured by metrics:  cyclomatic complexity, v  essential complexity, ev  module design complexity, iv  system design, S0, and system integration complexity, S1,  Halstead metrics, and 52 metrics more. • The testing methodology allows to identify unreliable-and- unmaintainable code, predict number of code errors and maintenance efforts, develop strategies for unit/module testing, integration testing, and test/code coverage. Web-enhanced IT Classes

  32. Basics: Analyzing a Module For each module (a function or subroutine with a single entry point and a single exit point), an annotated source listing and flowgraph is generated. Flowgraphis an architectural diagram of a software module’s logic. Battlemap main b c printf Statement Code Number main Flowgraph node:statement or block of sequential statements 1 main() 2 { 3 printf(“example”); 4 if (y > 10) 5 b(); 6 else 7 c(); 8 printf(“end”); 9 } 1-3 condition 4 5 7 end of condition edge: flow of control between nodes 8-9 Web-enhanced IT Classes

  33. Flowgraph Notation (in C) if (i || j) ; if (i) ; else ; if (i) ; if (i && j) ; do ; while (i); while (i) ; switch(i) { case 0: break; ... } Web-enhanced IT Classes

  34. Flowgraph and Its Annotated Source Listing Origin information Metric information 0 Decision construct 1* 2 3 6* 4* 7 5 8 9 Node correspondence Web-enhanced IT Classes

  35. Would you buy a used car from this software? • Problem: There are sizeand complexity boundariesbeyond which softwarebecomes hopeless • Too error-prone to use • Too complex to fix • Too large to redevelop • Solution: Control complexityduring development andmaintenance • Stay away from the boundaries. Web-enhanced IT Classes

  36. Important Complexity Measures • Cyclomatic complexity:v= e - n + 2 (e=edges; n=nodes) • Amount of decision logic • Essential complexity:ev • Amount of poorly-structured logic • Module design complexity:iv • Amount of logic involved with subroutine calls • System design complexity:S0 =iv • Amount of independent unit (module) tests for a system • System integration complexity:S1= S0 - N + 1 • Amount of integration tests for a system of N modules. Web-enhanced IT Classes

  37. Cyclomatic complexity,v- A measure of the decision logic of a software module. Applies to decision logic embedded within written code. Is derived from predicates in decision logic. Is calculated for each module in the Battlemap. Grows from1tohigh, finite numberbased on the amount of decision logic. Is correlated to software quality and testing quantity; units withhigher v,v>10, are less reliable and require high levels of testing. Cyclomatic Complexity Web-enhanced IT Classes

  38. Cyclomatic Complexity 1 5 4 =2 2 R1 3 R2 edges and node method e = 24, n = 15 v = e – n + 2 = 24 -15 +2 v = 11 6 7 =1 =1 R3 R4 9 8 10 R5 11 =1 predicate (logical) method v =  + 1 v = 11 12 R11 13 17 =2 14 16 15 R7 region (topology) method regions = 11Beware of crossing lines R6 19 18 =1 =1 R8 R9 21 20 22 R10 23 23 =1 24 1 2 4 3 5 6 7 8 9 10 11 12 13 14 Web-enhanced IT Classes 15

  39. Essential Complexity - Unstructured Logic Branching out of a loop Branching in to a loop Branching into a decision Branching out of a decision Web-enhanced IT Classes

  40. Essential Complexity, ev Flowgraph and reduced flowgraph after structured constructs have been removed, revealing decisions that are unstructured. Reduced flowgraph v = 3 Therefore ev of the original flowgraph = 3 v = 5 Superimposed essential flowgraph Web-enhanced IT Classes

  41. Essential Complexity, ev Essential complexity helps detect unstructured code. v = 10 ev = 1 Good designs v = 11 ev = 10 Can quickly deteriorate! Web-enhanced IT Classes

  42. Module Design Complexity, iv Example: main iv = 3 main() { if (a == b) progd(); if (m == n) proge(); switch(expression) { case value_1: statement1; break; case value_2: statement2; break; case value_3: statement3; } } progd proge main Reduced Flowgraph v = 5 v = 3 progd() progd() proge() proge() do not impact calls Therefore, iv of the original flowgraph = 3 Web-enhanced IT Classes

  43. v, number of unit test paths for a module iv, number of integration tests for a module Total number of test paths for all modules Average number of testpaths for each module Module Metrics Report Web-enhanced IT Classes

  44. Low Complexity Software • Reliable • Simple logic • Low cyclomatic complexity • Not error-prone • Easy to test • Maintainable • Good structure • Low essential complexity • Easy to understand • Easy to modify Web-enhanced IT Classes

  45. Moderately Complex Software • Unreliable • Complicated logic • High cyclomatic complexity • Error-prone • Hard to test • Maintainable • Can be understood • Can be modified • Can be improved Web-enhanced IT Classes

  46. Highly Complex Software • Unreliable • Error prone • Very hard to test • Unmaintainable • Poor structure • High essential complexity • Hard to understand • Hard to modify • Hard to improve Web-enhanced IT Classes

  47. McCabe QA McCabe QA measures software quality with industry-standard metrics • Manage technical risk factors as software is developed and changed • Improve software quality using detailed reports and visualization • Shorten the timebetween releases • Develop contingency plans to address unavoidable risks Web-enhanced IT Classes

  48. Processing with McCabe Tools Traditional Procedures Project Code BUILD Level Preprocess Compile & Link Run & Test CM src files inst.exe ClearCase inst-src Inst-lib.c New McCabe’s Procedures Trace File src *.E TEST Level IMPORT Instrumented src inst-src; inst-lib.c Battlemap PARSE Output ANALYSIS Level Flowgraphs Test Plan Reports Coverage Analysis Coverage Report Text Graphics Web-enhanced IT Classes

  49. Project B: Backbone™ Concentration Node Web-enhanced IT Classes

  50. Project B: Backbone Concentration Node • This system has been designed to support carrier networks. It provides both services of conventional Layer 2 switches and the routing and control services of Layer 3 devices. • Nine protocol-based subtrees of the code (3400 modules written in the C programming language for BGP, DVMRP, Frame Relay, ISIS, IP, MOSPF, OSPF2, PIM, and PPP protocols) have been analyzed. Web-enhanced IT Classes

More Related