ITGS213 : Introduction to Software Engineering

Department

Department of Computer Networks

Academic Program

Bachelor in Computer Networks

Type

General

Credits

03

Prerequisite

ITGS111

Overview

This course offers an introduction to software engineering. Topics covered: Software Engineering fundamentals; Software processes; Object-oriented concepts and UML; Requirements analysis; System modeling and specification; Software design models; from design to implementation; Software testing; Software tools; Emerging software development methods; Teamwork.

Intended learning outcomes

Knowledge &understand

  • Knowing what software engineering is and why it is important
  • Learn about software development life cycle
  • To explains the activities of each phase of building the software
  • Learn about high quality software features.
  • Describes software development models

mental skills

  • To choose suitable cost estimation tool for a project
  • To choose suitable time estimation tool for a project
  • To compare between Functional and Nonfunctional requirements
  • To choose requirement elicitation methods for the project
  • Linking between the analysis and design tools used in system development.
  • Distinguish between different software process models.

Practical & professional skills

  • Be able to use cost and time estimation tools
  • Use different requirement elicitation methods
  • Be able to create a number of different UML models
  • Selects appropriate tools for each software development method.
  • Use various scientific sources to write research.

General and transferable skills

  • Works within a team
  • To be able to use modern technological tools
  • Be able to writing assignments and reports
  • Able to using internet and scientific references for independent study
  • To be able to do presentations

Teaching and learning methods

  • Lectures
  • Tutorials
  • discussions

Methods of assessments

  • Midterm exam = 40
  • Assignment = 10
  • Final exam = 50

Course contents

  • Introduction of software engineering
  • Project planning
  • Cost estimation techniques
  • Project scheduling
  • software Requirements engineering
  • functional and non-functional requirements
  • Requirements elicitation
  • Requirements analysis
  • UML Language
  • Use case diagram
  • Requirements specification , validation , and management
  • Design Phase
  • Architectural design
  • Object oriented design using UML
  • Implementation issues
  • Programming tools
  • Computer Aided Software Engineering (CASE)
  • Utility Tools
  • Quality assurance and software testing
  • Software process models

Multimedia over IP networks (ITNT405)
Cloud Computing (ITNT404)
Fundamentals ubiquitous computing (ITNT403)
Wireless Sensor Networks (ITNT402)
Personal Area Networks (ITNT401)
Security Policy and Procedures (ITNT304)
Human Computer Interaction (ITNT302)
Modeling and Performance Evaluation (ITNT301)
Arabic language 1 (ITAR111)
General English1 (ITEL111)
Physics (ITPH111)
Intro to Information Technology (ITGS111)
Problem solving Technic (ITGS113)
Mathematics I (ITMM111)
Arabic language 2 (ITAR122)
Mathematics II (ITMM122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Introduction to Networking (ITGS215)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Information Security (ITGS224)
Foundation of Information Systems (ITGS222)
Computer Architucture & Organization (ITGS223)
Introduction to Internet Programming (ITGS226)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Design and Analysis algorithms (ITGS301)
Data Communication (ITNT311)
Local Area Networks (ITNT312)
Networks Programming (ITNT313)
Cryptographic Algorithms and Protocols (ITNT314)
Wireless and Mobile Networks (ITNT324)
Operating System (ITGS302)
Digital Communication (ITNT323)
Network Protocols (ITNT322)
Wide Area Networks (ITNT321)
Scientific Writing (ITGS304)
IT Project Management (ITGS303)
Distributed Systems (ITNT411)
Network Design and Management (ITNT412)
Network QoS (ITNT421)
High speed Networks (ITNT422)
Graduation Project (ITNT500)