Kingdom of Saudi Arabia Ministry of Higher Education University of

advertisement
Kingdom of Saudi Arabia
Ministry of Higher Education
University of Hail
College of Computer Science and Engineering
Department of Computer Science and Software
Engineering
‫المملكة العربية السعودية‬
‫وزارة التعليم العالي‬
‫جامعة حائل‬
‫كلية علوم وهندسة الحاسب اآللي‬
‫قسم علوم الحاسب وهندسة البرمجيات‬
Course Name
Course Number
Prerequisite
Credit Hours
Software Engineering
ICS 413
ICS 202
4
Text Book
Sommerville and Pete Sawyer, Requirements Engineering: A Good Practice Guide,
John Wiley & Sons, 7th edition
Course Description
- Describes the evolving role of software engineering and software engineering principles and
aspects.
- Describes the different process models: waterfall, prototype … etc.
- Describes how to manage a software project, which includes: software project management
concepts, team organization, cost estimation, project scheduling, tracking, project planning, and risk
management.
- Describes the requirement engineering, which includes: requirement elicitation, requirement analysis,
requirement validation, requirement specification, and requirement documentation.
- Conduct a review of software requirements document using best practices to assess its quality.
- Use software tools to support the software project management and the requirement engineering
definition.
- Describe software design tools using UML and RUP.
Course Objectives
This module aims to provide students comprehensive details to software engineering. It gives an introduction to
basic concepts, principles and techniques used in software engineering. It discusses the nature of software and
software projects, review of object orientation, software development on reusable technology, developing
requirements, modelling with classes, design patterns, focusing on users and their tasks, modelling interactions
and behaviour, testing and managing software process.
Learning Outcomes
A student completing this module unit should be able to:
1. Understand what software engineering is and why it is important.
2. Understand the concept of software processes and software process models.
3. Understand the principal of object oriented.
4. Understand the principal of software development on reusable technology.
5. Understand the type of software requirements (Functional & Noun Functional).
Understand that the effective requirements management can be accomplished only by an
effective software team.
Weekly Breakdown of syllabus:
Week #
Topics
Chapter /Lab No.
Lecture: Introduction
1
2
3
4
5
6
7
8
Softwares, Importance of SWE, to Software Engineering
and Basic SWE Concepts.
The Evolving Role of Software. Lab: 1
Software Characteristics and Lecture: Chapter
Applications.
1,2
Software Requirements
Engineering: Requirements
Problem and Management,
Functional and non-functional
requirements, User
requirements, System
requirements, The software
requirement document
Requirements Processes:
Feasibility study, Requirements
elicitation and analysis, The
nature of requirements
engineering, Types and
characteristics of requirements,
Writing and documenting
requirements
Requirements Processes:
Requirements validation,
Requirements managements
Software Models: ComponentBased Development Model,
Formal Development Model,
Spiral Development Model …
etc.
Lab: 2
Lecture: Chapter 6
Lab: 3
Lecture: Chapter 6
Lab: 4
Lecture: Chapter 7
Lab: 5
Lecture: Chapter 7
Lab: 6
Lecture: Chapter 8
Lab: 7
Software Project Management: Lecture: Chapter 5
Resources
Lecture: Slides &
Textbook
Lab: Lab Handout 1
(Lab Manual)
Lecture: Slides &
Textbook
Lab: Lab Handout 2
(Lab Manual)
Lecture: Slides &
Textbook
Lab: Lab Handout 3
(Lab Manual)
Lecture: Slides &
Textbook
Lab: Lab Handout 4
(Lab Manual)
Lecture: Slides &
Textbook
Lab: Lab Handout 5
(Lab Manual)
Lecture: Slides &
Textbook
Lab: Lab Handout 6
(Lab Manual)
Lecture: Slides &
Textbook
Lab: Lab Handout 7
(Lab Manual)
Lecture: Slides &
Textbook
Management Activities, Team
Organization
9
10
11
12
13
14
15
Lab: Lab Handout 8
(Lab Manual)
Lab: 8
Software Project Management:
Lecture: Chapter 5
Project Planning, Project
Scheduling, Project Scheduling
and Tracking, Risk Analysis and
Lab: Project
management
Elements of Software Analysis
and Design: Structured
Approaches, Structured
Analysis, Functional Oriented
Design
Lecture: Slides &
Textbook
Lab: Project Handout
Lecture: Chapter
14
Lecture: Slides &
Textbook
Lab: Project
Lab: Project Handout
Rational Unified Process (RUP): Lecture: Chapter
UML Basics, RUP structure, RUP 14
characteristics
Lab: Project
Lecture: Slides &
Textbook
Lab: Project Handout
Object-Oriented Design:
Object-Oriented Design
Process, Design Evolution
Lecture: Chapter
14
Lecture: Slides &
Textbook
Lab: Project
Lab: Project Handout
Architectural Design models:
System organization design
models, Modular
decomposition styles, Control
Styles, Client-Server
architecture
Lecture: Chapter
11
Lecture: Slides &
Textbook
Lab: Project
Evaluation
Lab: N/A
Software Quality Management: Lecture: : Chapter
Process and product quality, 27
Quality assurance and
Lab: Final Exam
standards
Software Metrics: Quality
planning, Quality Control,
Software measurements and
metrics
Lecture: : Chapter
27
Lab:
-
Lecture: Slides &
Textbook
Lab: N/A
Lecture: Slides &
Textbook
Lab:
-
Modes of Assessment:
Modes of Assessment:
Score
Major 1
15%
Major 2
15%
Quiz's + Exercises + Tutorials + Homework+ Projects+ Assignments + Seminars,
and Classwork
10%
Laboratory
15%
Final Exam (Comprehensive; written, verbal, hand-ins, ……. etc.)
45%
Attendance policy:
A regular student should attend all classes and laboratory sessions.
Implementation Rules of ARTICLE (9): (From University manual)
1) A regular student will not be allowed to continue in the course and take the final examination and will be
given a DN grade if his unexcused absences are more than 20% of the lecture and laboratory sessions
scheduled for the course.
2) A regular student will not be allowed to continue in the course and to enter the final examination if his
attendance is less than 66.7% of the lecture and lab sessions scheduled for the course. This applies both
excused and unexcused absences. The student will be given a W grade in that course provided his
unexcused absences do not exceed 20% of the scheduled lecture and laboratory sessions. If the unexcused
absences exceed 20%, the provisions of the previous paragraph will apply.
Expected Workload:
On average you should expect to spend about 6 hours per week on this course.
Important dates:
Major 1:
/
/ 2014
Final exam: Week:
&
Major 2:
/
/ 2014
, Assignment due in: Every week,
Project due in:
/
/ 2014
Practical Submissions:
The assignments that have work to be assessed will be given to the students in separate documents
including the due date and appropriate reading material.
Supporting Materials:
1. Strongly Recommended References:
a) Textbook
The official textbook is: Sommerville and Pete Sawyer, Requirements Engineering: A Good Practice Guide, John
Wiley & Sons, 7th edition
b) Requirements Engineering




Managing Software Requirements – A Use Case Approach – Dean Leffingwell & Don widrig
Suzanne Robertson and James Robertson, Mastering the Requirements Process, Addison-Wesley,
1999.
Gerald Kotonya and Ian Sommerville, Requirements Engineering: Processes and Techniques, John
Wiley, 1998. The book has an associated set of OHP Transparencies (Powerpoint 4) which may be
downloaded from the Accompanying Website.
Ian Sommerville and Pete Sawyer, Requirements Engineering: A good practice guide, John Wiley,
1997. The Accompanying Website provides links to resources with information on requirements
engineering.
c) UML









Simon Bennet, John Skelton and Ken Lunn, UML, Schaum's Outline Series, McGraw-Hill, 2001.
Perdita Stevens and Rob Pooley. Using UML: Software Engineering with Objects and Components.
Addison-Wesley, 2000.
Sinan Si Alhir. UML in a Nutshell: A Desktop Quick Reference. O'Reilly, 1998.
Sinan Si Alhir. Learning UML. O'Reilly, 2003.
James Rumbaugh, Ivar Jacobson and Grady Booch. The Unified Modeling Language Reference
Manual. Addison-Wesley, 1999.
Martin Fowler, Kendall Scott: UML Distilled, Addison-Wesley 2000
James Rumbaugh, et al: The Unified Modeling Language Reference Manual, Addison-Wesley
Ivar Jacobson, et al: Unified Software Development Process, Addison-Wesley
Jos B. Warmer, Anneke G. Kleppe: The Object Constraint Language : Precise Modeling With
UML, Addison-Wesley
d) Software Engineering

Ian Sommerville, Software Engineering (9th Ed.)
e) Course Slides
-
Lecture Slides
- UML Slides
2. Web References:
-
www. uml.org
- www.eclipse.org/uml2/
http://microsoft-visio-2013.en.softonic.com/
- www.Gliffy.com
Important Notes:

Make-up exams will be offered for valid reasons only with consent of the Exam’s Committee. Makeup
exams may be different from regular exams in content and format.
Cheating is not allowed. Severe measures will be taken by the instructor.
Instructor:
Name: Mr. Mohammed N. Allwaish
Office: Room No. S198
Website: http://faculty.uoh.edu.sa/m.allwaish
E-mail: m.allwaish@uoh.edu.sa
Office Hours: Sunday: 10:00am - 10:50am, 12:00pm - 12:50pm
and 01:00pm - 01:50pm
Tuesday: 10:00am - 10:50am, 12:00pm - 12:50pm
and 01:00pm - 01:50pm
OR by appointment
Download