Software Engineering

advertisement

A. The Course

Title : Software Engineering I

Course no. : CSC3324 / Sections 1 & 2

Class hours :

B. The Instructor

Nom

E-mail

:

:

Dr. Driss Kettani

Office Hours : TBA

D.Kettani@aui.ma

C. Course Description

Room : 05/107

Term : Fall 2007

Room : No.102, Bldg. 9

Phone : 2178

Software Engineering (SE) has been defined as the application of sound engineering principles and techniques to the process of software development and delivery. Its purpose is to make formal and predictable the building of software systems that really correspond to the client’s requirements and that are reliable, efficient and user friendly.

This course will present and discuss the main topics in the field of software engineering and will show how to use them in the real world via concrete examples. It starts with a general introduction of SE, its models, its steps and its terminology and, then, it focuses on the conceptual analysis (Requirements engineering as called by Sommerville) and design steps. The methodology that will be used is called Merise, which is widely used in Morocco and in the world. It is supported by many Computer Aided Software Engineering tools that allow graphical representation of data and processes models with respect to an agreed semantic, and to describe them in a specific standard layout. Students will also be introduced to the implementation and maintenance steps but the details will be taught in the SE-II course.

By its nature, software engineering needs a lot of abstraction skills and relies on the creativity and experience of the software engineer. Software engineering is definitely not a programming language or a process optimisation technique, it is rather about abstraction, analysis, modelling and design activities.

D. Intended Learning Outcomes (ILOs)

Students successfully completing the course will:

know what is SE and how to use it in the software development and delivery;

know different software engineering models that are widely used in the world;

understand the different steps of the software engineering life cycle;

master the conceptual analysis (requirements engineering) step and produce the corresponding deliverables;

master the design step and produce its corresponding deliverables;

be initiated to the implementation steps and its corresponding deliverables: the code of different modules and functions that are implemented to fulfill the specifications of the system;

understand the Merise Methodology;

efficiently and autonomously a CASE tool;

be initiated to develop skills for working in a group on a small software project.

E. Textbooks and References

 Software Engineering, Ian Sommerville , 7 th edition, Addison-Wesley.

SE-I online slides, Dr Driss Kettani, http://www.aui.ma/~D.Kettani/

F. Course Contents

Topic(s)

Introduction and definitions

The Software life cycle + Software engineering process models

 Feasibility and orientation study

 Recommended Feasibility Document layout and content

 Study case (step 1)

 Software requirements

 The Requirements Engineering Process;

- Study Case (step 2);

- Study Case (step 3);

- Study Case (step 4);

 System Models;

 Introduction to Merise;

 Using Merise to produce the:

 Processes model;

 Data model;

 User model;

 Formal outputs of the conceptual analysis step.

 The Conceptual Analysis Doc.

(the Requirements

Engineering Doc.)

 Software Design ;

 Interface Prototyping;

 The Design document

 System Implementation;

 Project document;

 Presentations.

G. Pedagogic Methodology

Readings

Sommerville Chapter 1

Sommerville Chapter 3

6.1

5.1, 5.2 and 5.3

6, 7

See annex in French

10, 15 and annex

Annex

1- Achieving the course' ILOs

The professor will present the course material in a variety of ways such as lectures, concrete examples, assignments, papers from the literature and finally, reviews of projects. It is the student’s responsibility to keep up with the course material and to ask questions when concepts are unclear.

Students are strongly encouraged to look for assistance whenever it is needed.

Students can ask their questions during the course, during office hours or on appointment in my office. They can also use the mailing list of this course: SE1@alakhawayn.ma

.

Another way to seek for help is through class Sensors. A Class Sensor is a representative of students that may

talk/report to the professor on their behalf. She/he must sense the atmosphere of the class and regularly talk to students about course matters, and report to the professor any remark, comment, suggestion that she/he noticed or that was reported to her/him by students. Any student who has a GPA of 3.0 or more can be a class sensor. We will have two class sensors for this course: a female sensor and a male sensor. The designation of class sensors will be made in the class and students with higher GPA will have the priority.

2

Attendance and punctuality are mandatory and critical to success this course. You will be considered absent if you miss the first 5 minutes of the course. I will manage the punctuality of students (i.e., missing the first 5min of the class) at my own discretion.

2- Projects

Students will have to develop a software system in a team of 3 to 4 members. They must form their team and propose a project (previously approved by the professor) on the 3 rd class week, i.e. on/before Sept. 14 th . Students will continuously work on their project since they will have to submit some 6 formal reports, each of which corresponding to a step of the software engineering process taught in this course.

Each team will present its project at the end of the semester in front its Client, the SSE Staff/Faculty and the

Public at large.

3- Quizzes

These quizzes will test the theoretical understanding of chapters covered so far. We will have two kinds of quizzes:

Oral quizzes: will usually take place at the beginning of the lectures and will concern only a small group of students (3 maximum). These students will be asked, individually, questions related to mandatory readings or about the content of the last lecture.

Up to 4 Written quizzes of 20 to 30 minutes for the whole class.

The quizzes are not announced.

4- Exams

The exams will be open book. You may bring any academic material that could help you. Nothing could be shared during the exams.

H. Assessment

- Project:

- Exams:

25%

- Quizzes and participation: 15%

- Grading

Midterm

Final

25%

35%

A

B

C

D

[90..100[

[80..90[

[70..80[

[60..70[

3

Download