King Fahd University of Petroleum & Minerals - Home Page Information & computer Sciences Department

 Visiting Professor

Nazim Madhavji

CS Dept., UWO

Home

Program Registration

What's New

Workshop

Short-Course

Photos

 

 

Short-courses

 

Pre-registration is required for these short courses.

Short course certificates: to be eligible for a certificate you have to attend at least three lectures from each course; that is a total of six lectures. In other words, you are allowed to miss at most one lecture in Sunday Dec 17th and at most one lecture in Tuesday Dec 19th.

 

Day 6: Sun. Dec 17th.

 

Short-course on Software Architectures

 

For all interested faculty, RAs, and students.

Pre-registration is required and certificates will be given to the participants.

 Place: Bldg 54, Room 101

 

Morning:

9:00 - 10:00 am - Lecture 1

10:00 - 10:15 am - Coffee/Refreshments Break

10:15 - 11:15 am - Lecture 2

Afternoon:                                                                                                                             

 1:00 - 2:00 pm - Lecture 3

2:00 - 2:15 pm - Coffee/Refreshments Break

2:15 - 3:15 pm - Lecture 4

 

 

Course Description:

 

This short course focuses on “software architectures”. A software architecture is an abstract representation of a software system, filtering out what is traditionally considered design- and implementation-level issues (such as: algorithm, design patterns, data representation and coding) and highlighting such aspects as the system structure, inter-relationships and interaction among these structures, and other “run-time” properties of the system.  Whereas software requirements generally state the “what” of a system, a software architecture states the “how” of a system. It sets bounds for lower-level design of a system and gives a technical context to new software requirements.

A software architecture is widely recognized as a key, and an intellectual, aspect of a software system. It is a primary means by which a software organization can control and evolve a software system or product. Among the resources required to create a high quality software architecture include: software requirements; organizational context; domain and technical knowledge and experience; existing system and its architecture (if any); appropriate stakeholders; architecting notations, methods, techniques, tools and processes.

   The learning objectives in this short course are to become familiar with: the notion of software architectures, different types of architectures, the role they play in software systems and in software development, architecture creation and evolution, architecture analysis, and documenting an architecture.

 

 

Day 8: Tue. Dec 19th.

 

Short-course on Software Requirements

 

For all interested faculty, RAs, and students. 

Pre-registration is required and certificates will be given to the participants.

 Place: Bldg 54, Room 101

 

Morning:

  9:00 - 10:00 am - Lecture 1

10:00 - 10:15 am - Coffee/Refreshments Break

10:15 - 11:15 am - Lecture 2

 

Afternoon:

1:00 - 2:00 pm - Lecture 3

2:00 - 2:15 pm - Coffee/Refreshments Break

2:15 - 3:15 pm - Lecture 4

 

 

Course Description:

 

Requirements engineering (RE) covers all the activities involved in discovering, eliciting, modelling, analyzing, documenting, and prioritizing a set of requirements as a desired solution for the envisaged computer-based system. This includes such issues as feasibility analysis, quality attribute analysis, benchmarking, competitive product analysis, market predictions, requirements degradation analysis, alignment with cooperating systems and others. For on-going evolution of an existing system, RE also includes analysis of the existing system and its old requirements. RE also involves maintaining the validity of the existing system requirements and keeping them under version and configuration control. In order to ensure that RE activities are effective and cost optimal, the RE process needs to be managed and improved on an on-going basis.

 

RE is generally a front-end part of a software development process, which enables software engineers to define what a software system is required to do and the circumstances under which it shall operate. However, refinements of the initial (often high-level) requirements may be driven by the constraints posed by such issues as: the existing system and infrastructure, development timeframe, developer expertise, and the components and systems available in the marketplace. As can be seen, RE is a complex process!

 

In this short course, students will:

1        study how to elicit, analyse and validate requirements,

2        study different types of requirements,

3        study methods for formulating software requirements,

4        study issues related to requirements management,

6        learn about requirements processes and the roles of the people involved.