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 Introduction to Software Engineering SWE 214 ICS 201 4 Text Book Managing Software Requirements – A Use Case Approach – Dean Leffingwell & Don widrig Course Description This course is designed to develop your knowledge and expertise in the development and use of software in modern environments and platforms by studying appropriate software development technologies, methodologies and system design techniques. It covers software engineering process models, requirements engineering process, and system models. The students will be introduced to the principles of project management. They will be exposed to the use-case driven approach for developing software’s and will practice requirements engineering, systems modeling and UML CASE tools within a teamwork environment. Course Objectives 1. To learn the software engineering process. 2. To know and apply appropriate methods, techniques and tools to elicit, document and manage requirements. 3. To learn the role of requirements analysis in system and software development. 4. To be able to define a system that satisfies the requirements. Learning Outcomes 1. Understand the Requirements problem and the challenge of requirements Elicitation and management. 2. Describe principles, concepts and practice of software engineering. 3. Explain the methods and processes of constructing the different types of Software systems. 4. Apply techniques and tools of software engineering within the context of systematic construction of quality software. Weekly Breakdown of Syllabus: Week # Topics 1 2 3 Softwares, Importance of SWE, and Basic SWE Concepts. Requirements Problem and Management, Software Lifecycle , Software Team, Five steps in Problem Analysis, The challenge of requirements Elicitation 4 5 6 7 8 9 The Features of a product or System, Techniques for Eliciting Requirements: Interviewing and workshops Brainstorming, Idea reduction and Storyboarding, Defining the system : A Use Case Primer and UML, Organizing Requirements Information and the vision document Managing scope: Establishing Project Scope, and Managing Chapter /Lab No. Resources Lecture: Introduction Lecture: Slides & to Software Engineering Textbook Lab: 1 Lab: Lab Handout 1 (Lab Manual) Lecture: Chapter Lecture: Slides & 1,2 Textbook Lab: 2 Lab: Lab Handout 2 (Lab Manual) Lecture: Chapter Lecture: Slides & 3,4 Textbook Lab: 3 Lab: Lab Handout 3 (Lab Manual) Lecture: Chapter Lecture: Slides & 5,8 Textbook Lab: 4 Lab: Lab Handout 4 (Lab Manual) Lecture: Chapter 9 Lecture: Slides & Textbook Lab: 5 Lab: Lab Handout 5 (Lab Manual) Lecture: Chapter Lecture: Slides & 10,11 Textbook Lab: 6 Lab: Lab Handout 6 (Lab Manual) Lecture: Chapter Lecture: Slides & 12,13 Textbook Lab: 7 Lab: Lab Handout 7 (Lab Manual) Lecture: Chapter Lecture: Slides & 14, 15, 16 Textbook Lab: 8 Lab: Lab Handout 8 (Lab Manual) Lecture: Chapter Lecture: Slides & 18, 19 Textbook Lab: Project Lab: Project Handout 10 11 12 13 14 15 Your Customer. Refining the System Definition: Software requirements, Use Case Refinements Developing the Supplementary Specification , Ambiguity and Specificity Lecture: Chapter 20, 21 Lecture: Slides & Textbook Lab: Project Lab: Project Handout Lecture: Chapter 22, 23 Lab: Project Lecture: Slides & Textbook Lab: Project Handout Lecture: Chapter 25, 26 Lab: Project Lecture: Chapter 27, 28 Lab: Project Evaluation Lecture: Chapter Assessing Requirements quality 29, 30 in iterative development, Agile Lab: Final Exam Requirements methods, and Lecture: : Chapter 31 & Course Your Prescription for Review Requirements Management Lab: Building the Right System : From Use Cases to Implementation, From Use Cases to Test Cases, Tracing Requirements, Managing Change Lecture: Slides & Textbook Lab: Project Handout Lecture: Slides & Textbook Lab: N/A 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 Final Exam (Comprehensive; written, verbal, hand-ins, ……. etc.) 15% 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: / / 2015 Final exam: Week: Major 2: & / / 2015 , Assignment due in: Every week, Project due in: / / 2015 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: Leffingwell and D. Widrig, Managing Software Requirements: A Use Case Approach, 2nd Ed., Addison Wesley, 2003. b) Requirements Engineering 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: 11:00am - 11:50am, 12:00pm - 12:50pm and 03:00pm - 03:50pm Tuesday: 12:00pm - 12:50pm, 02:00pm - 02:50pm and 03:00pm - 03:50pm OR by appointment