Software Engineering

 

Module Description:        

Application systems implementation, functional testing, user acceptance testing, and installation strategies. The processes of maintaining information systems, types of maintenance, measuring and controlling of maintenance effectiveness. Software quality assurance, quality concepts, the ISO 9000 & ISO 9126 quality factors, technical metrics for software and examples of function-based, specification quality, testing metrics. Technical metrics for object-oriented systems, class-oriented metrics. Software Development Methodologies, requirement engineering, and configuration management.

Module Aims:

The course introduces the principles of software engineering and detailed study of topics such as software development lifecycle, requirements gathering, program specification, design techniques, implementation guidelines, validation and verification. Software tools, team oriented processes. Different software process approaches to development, including waterfall model, prototyping, formal modeling, and spiral model. Software engineering economics.. Major topics include:

·         Knowledge of Software processes

·         Knowledge of System Models

·         Knowledge of Architectural Design

·         Knowledge of Object Oriented Concepts

·         Knowledge of Unified Modeling Language

 

Learning Outcomes:                       

·         An Explain Software & Software Engineering concepts and activities that are involved in the systems engineering process

·         A Discuss the concept of software processes and software process models

·         An Understand the quality assurance and metrics

·         An Understand the  Unified Modeling Language (UML) in real-life software projects

·         An ability to Understand Software & Software Engineering concepts.

·         An ability to Acquaintance software processes and software process models

·         An ability to Identify Project Management Concepts and planning

·         An Apply the concepts of behavioral modeling, data modeling and object modeling in real life situation

·         An ability to Understand quality assurance and metrics

·         Acquaintance Analysis and Design

·         Acquaintance Object-Oriented Concepts and use UML

·         Acquaintance of using computer software related to the course.

·         The ability to communicate and to discuss related topics of the course with instructor inside and outside class.

·         Acquaintance of using internet to get information related to the course.

Textbook:                                                                  

R. S. Pressman; Software Engineering, A Practitioner’s Approach, 2009, McGraw-Hill