|    Home    |    Application Form   |    Partners    |    Calender    |AIT Main SITE |

Master of Software Engineering

Program Synopsis

Software engineering is defined as the application of engineering principles which would enable systematic, reliable and efficient software development to take place. This program covers every phase in the software development process. The program is developed to enhance expertise and knowledge to become a disciplined software engineer or practitioner.

As a result of the increasing amount of technical challenges related to work scheduling, cost estimation, reliability and performance in software development that must be resolved, it is important to be equipped with software engineering knowledge. Changes in users’ requirements, staff turn-over rate and the dynamic movement of software project team members are also other reasons that make software engineering discipline important.

The objectives of this program are to:

  • Equip students with advanced knowledge on software engineering
  • Provide students with a strong foundation in core areas of software engineering such as database; program and interface design; software requirements; software testing; software project management; software maintenance and software configuration management; software quality and software metrics; and
  • Provide students with knowledge in information technology.

Program Structure

Core Courses

Subject Name

Credit

 

Programming Language
This course will discuss the following topics which are the main elements in Software Development Process:

  • Concepts of Programming and Programming Languages
  • Type of Programming Languages
  • Object Oriented Software Development with Java

 

 

3

 

Software Engineering Process and Methods
This course covers the definition, implementation, assessment, measurement, management, change and improvement of the software engineering process. Software process is concerned with the knowledge about the description of commonly used software life-cycle process models. The course also covers software engineering method which is concerned with heuristic methods dealing with informal approaches, formal methods dealing with mathematically based approaches, formal methods and prototyping methods.

 

 

3


Software Requirements
This course covers activities that relate to the determination and documentation of software system requirements. Topics covered include software requirements fundamentals, requirements process, requirements elicitation, requirements analysis (e.g. object-oriented analysis techniques), prototyping, requirements tracking, requirements specification, requirements validation and re-engineering, and some practical considerations.

 

 

4


Database and Program Design
This courses focuses on the relational database model from a beginning perspective, which is considered as the important part of database design. The course also focuses on program design, which stress on structured programming and modular design that uses pseudocode as the major program design technique. It uses strategy that is language independent to provide a strong foundation in program design problem solving

 

 

4


Interface Design
The course discuss on a well-designed graphical user interfaces (GUI) using real-world examples from systems that are proven successes. It is an essential course in software development which emphasize on good GUI or web site design.

 

3


Software Testing
This course covers advanced topics on software testing with deep exposure to various testing strategies and techniques; the management of the testing process and the economics of software testing. It is expected that the student will develop software testing skill and experience.

 

3


Project Management
The course is to prepare students to understand the ICT Project Management concepts and framework. Thus, enable students to implement the project management principles, processes, techniques and tools in any ICT projects. Entrepreneurship will be covered at the end of the course. This is to cultivate entrepreneurship spirit among students when they involve in Software Project Management.

 

 

3


Software Maintenance and Configuration Management
This course will discuss the concepts of software maintenance phase of the software life cycle and software configuration management (SCM). The course also include SCM, which is the discipline of identifying the configuration of software for the purpose of systematically controlling changes to the configuration and of maintaining the integrity and traceability of the configuration throughput the system life cycle.

 

 

4


Software Quality and Metrics
This course will discuss the fundamentals concepts of software quality, its management processes, measurements and metrics.

 

3


Software Engineering Project I
This course is available so that students can conduct, under supervision, a small project that will significantly increase their depth of knowledge in some aspect of software engineering theory or practice. The course exposes students to methodology of research which enables them to design, formulate and implement research projects. The topics covered will include perspectives for the development of knowledge, project planning and design as well as writing a research proposal and research report. The activities in the course will normally include some combination of reading and writing as appropriate to the project. Supervisor will guide students on implementing their software engineering projects. The software engineering project title and area has been identified and registered in Software Engineering Project 1. Students will implement their project works by completing the remaining phases in a software development life cycle, which are the coding, testing and maintenance phases. At the end of the semester, students will submit their completed software project, written reports, and presentation (which may include a demonstration of the deliverable). Students are also required to meet their supervisor as a means of continuous communication during the semester.

 

 

 

 

3


Software Engineering Project II
This course is available so that students can conduct, under supervision, a small project that will significantly increase their depth of knowledge in some aspect of software engineering theory or practice. The activities in the course will normally include some combination of reading and writing as appropriate to the project. Supervisor will guide students on implementing their software engineering projects. The software engineering project title and area has been identified and registered in Software Engineering Project 1. Students will implement their project works by completing the remaining phases in a software development life cycle, which are the coding, testing and maintenance phases. At the end of the semester, students will submit their completed software project, written reports, and presentation (which may include a demonstration of the deliverable). Students are also required to meet their supervisor as a means of continuous communication during the semester.

 

 

 

 

 

4

Electives Courses (Choose any 1 course)

Subject Name

Credit


Real-Time Software Engineering
This course requires the basic knowledge about object-oriented concepts and programming language. It introduces a systematic approach for developing object- oriented software for embedded real-time systems. This course includes a development process that covers the major phases of developing software. From requirements specifications to implementation, the models are continuously linked. The topics consists of:

  • Concepts, terminology and problems if real-time and concurrent systems; concurrency models, communication and synchronization, memory management, scheduling and schedulable objects, asynchronous events and handlers, real-time threads, asynchronous transfer of control, resource sharing;
  • Software design methods for real-time and concurrent systems;
  • Performance analysis; and
  • Computing for real-time systems.

 

 

 

 

3


Web Design and Technologies
Discussion will start on the history of Internet, WWW and continued to HTML basics. Then, All the elements of web will be highlighted. Later, emphasize will be given for developing dynamic Web pages. For this purpose, students would be introduced to Web technologies such as Java Applet, ASP, Servlet, CGI and XML.

 

3


Networking Technologies and Web Security
The following topics on Networking and Web Security will be covered: Networking Fundamentals, Computer Networks, Distributed Networks and Web Security.

 

3


Advanced Databases and Decision Based Systems
-

 

3

 

Copyright(c) AIT 2009