Software Engineering Course Materials PDF
Document Details
GIU
John Zaki
Tags
Summary
This document contains lecture notes on software engineering, focusing on course logistics, the concept of software engineering itself, client-server architecture, the role of URL, DNS, HTTP, and TCP/IP protocols, and a brief introduction.
Full Transcript
CSEN406 SOFTWARE ENGINEERING INTRODUCTION TABLE OF CONTENTS 01 CLOs 02 REFERENCES 03 GRADING 04 TOPICS & SCHEDULE 05 INTRODUCTION Dr. JOHN ZAKI...
CSEN406 SOFTWARE ENGINEERING INTRODUCTION TABLE OF CONTENTS 01 CLOs 02 REFERENCES 03 GRADING 04 TOPICS & SCHEDULE 05 INTRODUCTION Dr. JOHN ZAKI 2 COURSE LEARNING OUTCOMES Knowledge and Understanding SDLC, requirement gathering, Kanban, Scrum, Waterfall, Agile, client-server architecture, testing 01 Intellectual Skills Unified Modeling Language, Design Patterns 02 Professional and Practical Skills Develop a web application, design ad relational database 03 General and Transferable Skills Teamwork, Research Skills 04 Dr. JOHN ZAKI 3 SOFTWARE ENGINEERING. 9th Ed. Ian Sommerville Dr. JOHN ZAKI 4 GRADING Project Final Exam 40% 40% Midterm Exam 20% Dr. JOHN ZAKI 5 TOPICS & SCHEDULE Topic Lec. Lab Topic Lec. Lab Introduction 2 2 The Concurrency Model 2 2 SDLC 2 2 Databases - RDBMS - NoSQL 2 2 Requirements Engineering 2 2 Backend Design & Technologies 2 2 UML System Design 2 2 Frontend Design & Technologies 2 2 Software Architecture I 2 2 Usability 2 2 Software Architecture II 2 2 Testing 2 2 Dr. JOHN ZAKI 6 INTRODUCTION Dr. JOHN ZAKI 7 INTRODUCTION Why SE? What is SE? Client-Server Architecture Dr. JOHN ZAKI 8 Why Should we Study SE? Dr. JOHN ZAKI 9 Why Software development fails sometime? Dr. JOHN ZAKI 10 Program or Software? Dr. JOHN ZAKI 11 PROGRAM? 1. I wrote a few lines of code and made a calculator program!!! SOFTWARE? 1. =program ++ 2. Program + documentation + configuration + support + good design …… + ….+ … Software games development VS Flight control software development NO Are they developed using the same technique? Dr. JOHN ZAKI 13 What’s the difference between SE & SD? Dr. JOHN ZAKI 14 THE SCOPE Dr. JOHN ZAKI 15 SE SD Dr. JOHN ZAKI 16 Dr. JOHN ZAKI 17 Mars climate orbiter Disintegrated…. 655M$...gone!!! Development fault or Engineering Engineering Fault? Dr. JOHN ZAKI 18 Generic Software? What’s the difference Custom Software? Dr. JOHN ZAKI 19 What is SE? Dr. JOHN ZAKI 20 Software is not just a code. Software is considered to be collection of executable programming code, associated libraries and documentations, and support. Software, when made for a specific requirement is called software product. Engineering on the other hand, is all about developing products, using well-defined, scientific principles and methods. Dr. JOHN ZAKI 21 IEEE DEFINITION: The application of a systematic, So, now …. disciplined, What is SE? quantifiable approach To the development, operation, and maintenance of software; That is, …. THE APPLICATION OF ENGINEERING TO SOFTWARE Dr. JOHN ZAKI 22 Recall from previous slide … A systematic, disciplined, and quantifiable approach…. = A PROCESS 01 SPECIFICATION DEVELOPMENT 02 ACTIVITIES 03 VALIDATION EVOLUTION 04 Dr. JOHN ZAKI 23 HOW DOES THE INTERNET WORK? CLIENT-SERVER ARCHITECTURE URL, DNS, IP, HTTP, ICANN, FIBER CABLES… Dr. JOHN ZAKI 24 What is the The biggest internet? computer network. Billions of connected computers and other devices Dr. JOHN ZAKI 25 SENDING REQUEST USER RECEIVING RESPONSE Dr. JOHN ZAKI 26 Satellite https://www.submarinecablemap.com/ Dr. JOHN ZAKI 27 EGYPT ▪ SIDI KERIR ▪ ABO TALAT ▪ ALEXANDRIA ▪ PORTSAID ▪ TABA ▪ SUEZ ▪ ZAFARANA ▪ RAS GHAREB Dr. JOHN ZAKI 28 LAYING CABLES https://thednetworks.com/2012/03/21/how-are-undersea-cables-laid-in-the-oceans-advantages-over-satellite/ Dr. JOHN ZAKI 29 LAYING CABLES Dr. JOHN ZAKI 30 LAYING CABLES Dr. JOHN ZAKI 31 THE WORLD WIDE WEB What actually happens? Dr. JOHN ZAKI 32 Let’s go back to “funny cat videos” SENDING REQUEST USER RECEIVING RESPONSE Dr. JOHN ZAKI 33 https://www.youtube.com DOMAIN NAME SERVER Search for The internet phonebook URL DNS “funny cat videos” youtube = 172.217.168.14 TRANSMISSION CONTROL PROTOCOL HYPERTEXT TRANSFER PROTOCOL / INTERNET PROTOCOL An application layer Rules of routing & TCP/IP HTTP Protocol for fetching addressing packets to arrive resources. to your address. Dr. JOHN ZAKI 34 URL The Scheme Top Level Subdomain (Protocol) Domain (TLD) http://www.youtube.com Domain Name Separator Root Domain The scheme: protocol the browser uses to access the resources (http / https) Dr. JOHN ZAKI 35 The Scheme Top Level (Protocol) Domain (TLD) Subdomain Parameters https://www.youtube.com/results?search_query=funny+cat+videos Separator Domain Name Path to Root Domain resources Authority Dr. JOHN ZAKI 36 Find what is meant by… and gives examples ….. Anchor Authority Port & HTTP port? Multilevel HTTPS port? subdomains FTP port? Dr. JOHN ZAKI 37 2nd TIME ….. https://www.youtube.com DOMAIN NAME SERVER Search for The internet phonebook URL DNS “funny cat videos” youtube = 172.217.168.14 TRANSMISSION CONTROL PROTOCOL HYPERTEXT TRANSFER PROTOCOL / INTERNET PROTOCOL An application layer Rules of routing & TCP/IP HTTP Protocol for fetching addressing packets to arrive resources. to your address. Dr. JOHN ZAKI 38 DNS It is the internet phonebook google = 172.217.168.14 01 It maps human readable “domain names” to a unique 02 network address (IP) There are different types of DNS servers 03 Dr. JOHN ZAKI 39 DNS SERVER TYPES 01 RECURSIVE RESOLVER (recursor) Cached or requested 02 ROOT NAMESERVER 13 available, mirrored 03 TLD NAMESERVER Generic TLD, country TLD 04 AUTHORITATIVE NAMESERVER IP, DNS “A record”, CNAME record Check your chrome browser (chrome://net-internals/#dns) https://www.cloudflare.com/learning/dns/dns-server-types/ Dr. JOHN ZAKI 40 https://narodev.com/index.php/2019/04/11/understanding-the-dns-process-how-website-is-found/ Dr. JOHN ZAKI 41 On a Linux Machine Courtesy: Dr. A.F Desouky Slides Dr. JOHN ZAKI 42 On a Windows Machine Recursor TLD Authoritative Dr. JOHN ZAKI 43 TIME TO LIVE (TTL)? ASSIGNMENT What is it? What is it needed for? Dr. JOHN ZAKI 44 3rd TIME ….. https://www.youtube.com DOMAIN NAME SERVER Search for The internet phonebook URL DNS “funny cat videos” youtube = 172.217.168.14 TRANSMISSION CONTROL PROTOCOL HYPERTEXT TRANSFER PROTOCOL / INTERNET PROTOCOL An application layer Rules of routing & TCP/IP HTTP Protocol for fetching addressing packets to arrive resources. to your address. Dr. JOHN ZAKI 45 HTTP https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview Dr. JOHN ZAKI 46 Based onSEND TCP/IP REQUEST HTTP for web access TCP/IP for transporting data https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview Dr. JOHN ZAKI 47 SENDS A MESSAGE SEND REQUEST RECEIVES A RESPONSE https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview Dr. JOHN ZAKI 48 What other methods HTTP has? Dr. JOHN ZAKI 49 Find about other HTTP status codes? Dr. JOHN ZAKI 50 One More Time …. https://www.youtube.com DOMAIN NAME SERVER Search for The internet phonebook URL DNS “funny cat videos” youtube = 172.217.168.14 TRANSMISSION CONTROL PROTOCOL HYPERTEXT TRANSFER PROTOCOL / INTERNET PROTOCOL An application layer Rules of routing & TCP/IP HTTP Protocol for fetching addressing packets to arrive resources. to your address. Dr. JOHN ZAKI 51 TCP/IP 01 TCP on top of IP to ensure reliable packet transmission 02 Handles lost packets, out of order packets, out of order packets, and corrupted packets 03 Packet has header containing info regarding the sender and receiver 04 Establishes a connection with acknowledgement 05 Packets sent are received with acknowledgement Dr. JOHN ZAKI 52 HANDSHAKE Dr. JOHN ZAKI 53 What’s the difference between TCP and UDP? Dr. JOHN ZAKI 54 SUMMARY 01 COURSE LOGISTICS 02 WHY AND WHAT IS SE? 03 CLIENT SERVER ACHITECTURE 04 URL, DNS, HTTP, TCP/IP Dr. JOHN ZAKI 55 TASK SUMMARIZE HOW TCP/IP HANDLES LOST & OUT OF ORDER PACKETS Dr. JOHN ZAKI 56 THANK YOU Dr. JOHN ZAKI 57