Course
code CC715E
credit_hours 3
title Software System Design & Software Engineering
arbic title
prequisites
credit hours 3
Description/Outcomes This course builds up to student an understanding of how to develop a software system from scratch by guiding them through the development process and giving them the fundamental principles of system development with object oriented technology using UML. The course will initiate students to the different software process models, project management, software requirements engineering process, systems analysis and design as a problem-solving activity, key elements of analysis and design, and the place of the analysis and design phases within the system development life cycle. Special emphasis on Verification, Validation and Testing of Software Systems are introduced.

Learning Outcomes
  • Show an introduction to the SDLC, Structured Analysis and Design and UMLs
  • Demonstrate Functional and non-al requirements
  • Analyze, design and develop the system models using object oriented methodology (UML) for software development
arabic Description/Outcomes
objectives The course aims at providing the student with a methodology for the development of software systems. In order for the student to be able to compete with the state of the art in software engineering area. Different system development phased thoroughly discussed and practice through the development of a required project.
arabic objectives
ref. books
  • Ian Summerville, Seventh Edition, Software Engineering, Addison Wesley, 2011.
  • Roger Pressman, Software Engineer: A practitioner Approach, McGraw – Hill, 7th edition, 2010.
  • Applying UML and Patterns, Craig Larman, 3rd Edition, Prentice Hall, 2004.
arabic ref. books
textbook
arabic textbook
objective set
content set
Course Content
content serial Description
1 Overview and History of Software Engineeringrn
2 Software Process and Software Process Modelsrn
3 Requirements Definition, Specification and Engineeringrn
4 Structured Analysisrn
5 Object- Oriented Analysis
6 Unified Modeling Language
7 Design Concepts and Principles
8 Design Patterns
9 Software Testing Verification and Validation
10 Agent-Based Software Engineering
11 Component Based Software Engineering
12 Agile Systems and Extreme Programming