- Applied Science University

Applied Science University
Faculty: Information Technology
Department : Software Engineering
( Course Syllabus )
CourseTitle
Credit Hours
Course No.
Prerequisite
Introduction to
Software Engineering
3
1302281
1301201
Year (semester)
2011-2012(2)
Lec./Lab. Credit
Lecture: 3
Coordinator Name
Lecturers
Room No.
E-mail
Office Hours
Dr. Marwan Alseid
Dr. Marwan Alseid &
Dr. Nedhal Alsayyed
1205
m_alseid@ asu.edu.jo
Posted on office door
Course Objectives and Description:

Understand the different stages of the software life cycle,

Acquire the knowledge of the common methodologies and techniques in software engineering.

Understand the concepts and tools in the development of software engineering models.

Have the awareness of the importance of software engineering in software system development.
Course Description:
Software engineering is the branch of computer science that creates practical, cost-effective solutions to
computing and information processing problems, by applying scientific knowledge, developing software
systems in the service of mankind. This course covers the fundamentals of software engineering, including
understanding system requirements, finding appropriate engineering compromises, effective methods of
design, coding, and testing, team software development, and the application of engineering tools. The course
will combine a strong technical focus with a project providing the opportunity to practice engineering
knowledge, skills, and practices in a realistic development setting with a real client.
Intended Learning Outcomes :
Successful completion of this course should lead to the following learning outcomes :
A- Knowledge and Understanding :
A1) Know what is software engineering as a discpline and how it is related to the other discplines.
A2) Understanding of different software processes and how to select the right process to project in hand.
A3) Know the different software systems and their specialised features.
A4) Gain a general knowledge of software project management, software qualities, software tools.
A5) Understand and respect the professional standards of ethics expected from software engineer.
A6) Gain knowledge of software requierments, their types, how to elicit them, and how to document
them.
A7) Explore students capabilities in project management.
A8) Gain knowledge of software testing strategies.
B- Intellectual Skills:
B1) Developing skills in software process and the ability to distinguish between them and there uses.
B2) Relating the knowledge of wide range of software models with the software engineering
applications available.
1
B3) Organizing different types of plans for small scale software projects.
B4) Making engineering tradeoffs based on qualities and resources.
C) Subject Specific Skills:
C1) Organise different types of plans for small scale software projects.
C2) Elicit requirements from a client, organise them, and document them.
C3) Decide on qualities required for different applications, software process to use, system design including
principled choice of a software architecture.
C4) Develop and analyse fine grain projects using different components.
D) Transferable Skills:
D1) Working individually and in a team.
D2) Putting software process into practice and demostrate working to multiple deadlines.
D3) Communicating with clients and team members.
Course Contents :
Week
1
2
3
4
5
Topics
Topic Details
Introduction to
Software
Engineering
- The Evolving Role of Software.
- Software Characteristics and Applications. Software
Crisis and Myths.
- Quality attributes of good software systems.
Introduction to
Software
Engineering
- Cont. Quality attributes of good software systems.
- Software Engineering: definition, processes, models
and methods.
Professional and ethical responsibilities.
Waterfall Development Model.
Spiral Model.
V Model.
Evolutionary Software Process Models- Exploratory.
Cont. Evolutionary Models – Throw away
prototyping..
Component-Based Development Model.
Formal Development Model.
Software Process Activities: RE, design,
implementation, testing, and evolution.
Computer-Aided Software Engineering (CASE)
Management Activities
Team Organization.
Project Planning.
Software
Process
Models
Software
Process
Models
Software
Project
Management
Reference
(chapter)
Chapter 1
Chapter 1
7+8
9
Quiz in Chapter 1
Chapter 4
Chapter 4
Assignment #1
Chapter 5
Presentation
First Exam
6
6
Assessment
Software
Project
Management
Software
Requirements
Engineering
Requirements
Engineering
Processes
Project Scheduling
Project Scheduling and Tracking.
Risk Analysis and management.
RE: definition and context.
Functional and non-functional requirements
User requirements
System requirements
The software requirement document
Feasibility study
Requirements elicitation and analysis
2
Chapter 5
Quiz in Chapter 5
Chapter 6
Assignment #2
Chapter 7
10
Requirements
Engineering
processes
Requirements validation
Requirements change management
Requirements documentation – use cases and UML.
Chapter 7
11
Quiz in Chapter 7
Second Exam
11+12
13
System models
System models
14+15
Testing
16
Context Model
Behavioural Models
Data models
Object models
Structured Methods
Data models
Object models
Structured Methods
System testing
Unit testing
Acceptance testing
Test case design.
FINAL
Chapter 8
Assignment #3
Chapter 8
Chapter 23
EXAMINATION
Case study
W EE K
Course quality improvement :


From the market and new subjects in the field.
From the monitoring of students feedback (Evaluation sheet).
Grade Distribution :
Assessment
- First Exam
- Second Exam
Grade
20%
20%
Assignments ( Reports /Quizzes/ Seminar / Tutorials ….)
20%
40%
Date
TBD
TBD
TBD
TBD
- Final Examination
* Make-up exams will be offered for valid reasons. It may be different from regular exams in content and format.
Reading List:
Text Books [1] Software Engineering, 8th Edition, Sommerville, Ian, Addison Wesley, 2007.
Other
References
[1] Software Engineering: : A Practitioner's Approach- European Adaptation. By R. S.
Pressman and I Darrel, McGraw Hill, 2004.
[2] Software Engineering: Theory and Practice. By S. L. Phleeger, Prentice Hall, 1998.
[3] Software Engineering an Engineering Approach. By J. F. Peters and P. Witold, John
Wiley and Sons, 2000.
[4] Fundamentals of Software Engineering. By C. Ghessi and M. Jazayeri, Prentice Hall,
2003.
[5] Software Engineering Fundamentals. By A. Behferooz, Oxford University Press, 1996.
[6] Software Engineering with C++ and Case Tools. By Michael J. Pont, Addison Wesley,
1996.
[7] Introduction to the Teem Software Process. By Humphrey Watts, Addison Wesley,
1999.
Last updated on 21/2/2012 by: Dr. Marwan Alseid
3