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