code SE291
credit_hours 3
title Introduction to Software Engineering
arbic title
prequisites CS243, IS171
credit hours 3
Description/Outcomes Software engineering is a critically important area for the future of application and/or systems development. Students must learn about software engineering to be able to create more complex software systems. Software engineering is now such a huge area. This course provides an introduction to software engineering disciplines with emphasis on: software life cycle, process models, requirements specification, architecture requirements, software design, rapid software development, verification, validation and testing of software. Thus, it gives students a broad view on the whole software development life cycle, and introduces techniques and standard documents used in each stage of the cycle. Moreover, during the course students undergo a team-based project with emphasis on the requirements, analysis and design phase. They use the unified modeling language as a method to model their systems.
arabic Description/Outcomes
objectives 1. Knowledge of basic SW engineering methods and practices, and their appropriate application.
2. Describe software engineering layered technology and Process frame work.
3. A general understanding of software process models such as the waterfall and evolutionary models.
4. Understanding of software requirements and the SRS documents.
5. Understanding of the role of project management including planning, scheduling, risk management, etc.
6. Describe data models, object models, context models and behavioral models.
7. Understanding of different software architectural styles.
8. Understanding of implementation issues such as modularity and coding standards.
9. Understanding of approaches to verification and validation including static analysis, and reviews.
10. Understanding of software testing approaches such as unit testing and integration testing.
11. Describe software measurement and software risks.
12. Understanding of software evolution and related issues such as version management.
13. Understanding on quality control and how to ensure good quality software.
arabic objectives
ref. books Roger Pressman, Software Engineer: A practitioner Approach, McGraw–Hill.
arabic ref. books
textbook Ian Summerville, Software Engineering, Pearson.
arabic textbook
objective set
content set
course file 530_SE291_SE291.pdf
Course Content
content serial Description