260 likes | 286 Views
CS352 – Software Engineering II Lecture 1: A Course Overview. Slides by Mohammad El-Ramly, PhD http://www.acadox.com/join/VBEPDR. كل عام و أنتم بخير. كل عام و أنتم على الطاعة أدوم و من الله أقرب كل عام و أنتم من التخرج أقرب عام جديد على عملك شهيد فاغتنمه فإنه إن مضى لا يعود أبدا. تذكرة.
E N D
CS352 – Software Engineering IILecture 1: A Course Overview Slides by Mohammad El-Ramly, PhD http://www.acadox.com/join/VBEPDR
كل عام و أنتم بخير • كل عام و أنتم على الطاعة أدوم و من الله أقرب • كل عام و أنتم من التخرج أقرب • عام جديد على عملك شهيد • فاغتنمه فإنه إن مضى لا يعود أبدا
تذكرة و لا تقربوا الزنا إنه كان فاحشة و ساء سبيلا
Lecture 1 Outline • Review of where we are • Course objectives and Contents • Course administration
1. SE I Course Objectives • This course aims to teach students the disciplined way of engineering software products. It aims to: • Educate the students about the cost of software failures and the importance of software engineering. • Train the students on the application of engineering practices in software development • Introduce them to the SWEBOK (Software Engineering Body of Knowledge).
SE I Course Objectives • This course aims to teach students the disciplined way of engineering software products. It aims to: • Train them on the basics of software requirements engineering, modeling, design, construction, configuration management. • Train students on teamwork
SE I Achievements • Introduction • SWEBOK and crisis • Process models • Different models && Scrum • Requirements Engineering • Preparing SRS documents • User stories / use cases • Design methods • Modeling with UML • Design patterns • Version control • Git
Remember ……. • Coders - Can pretty much figure out it. It'll work, but it won't be pretty. • Hackers - usually low level folks, skillful, with detailed understanding of some area deeply. • Programmer - Write code and understand algorithms. Often work alone and well. • Software Engineer - Are the best generalists, can use lots of different systems and languages. Are true and broad professionals, use disciplined approaches, follow ethics, work in teams and communicate well.
SWEBOK’s Key 10 Knowledge Areas SWEBOK 2004 SWEBOK 2013 added 5 more KAs
SWEBOKv3’s 15 Knowledge Areas SWEBOK 2014
Requirement Analysis Design Implement Testing Where are we? Software Version Control Project Management Quality Assurance Software Process
Software’s Chronic Crisis • Many software system fail to serve their purpose or even may cause harm. • Many projects never deliver. • IBM survey of 24 companies developing distributed systems: • 55% of the projects cost more than expected • 68% overran their schedules • 88% had to be substantially redesigned
Software’s Chronic Crisis • Software product size is increasing exponentially • faster, smaller, cheaper hardware • Software is everywhere: from TV sets to cell-phones • Software is in safety-critical systems • cars, airplanes, nuclear-power plants
Software’s Chronic Crisis • Software’s chronic crisis: Development of large software systems is a challenging task • Large software systems often: Do not provide the desired functionality; Take too long to build; Cost too much to build Require too much resources (time, space) to run; Cannot evolve to meet changing needs
Software’s Chronic Crisis • We are the only industry that states something like this on their product licenses: • إخلاء المسؤولية عن الضمان. يتم ترخيص البرنامج "بالحالة التي عليها" و"على علاته" و"بالحالة التي يتم توفيره عليها".وبالتالي فإنك تتحمل مسؤولية استخدامه. لا تقدم MICROSOFT، والموزعون التابعون لها وأيٍ من الشركات التابعة لنا المعنية والموردون (المشار إليهم فيما بعد باسم "الموزعون")، أية ضمانات أو تعهدات أو شروط صريحة بموجب هذا البرنامج أو فيما يتعلق به. قد تكون لك بعض حقوق المستهلك الإضافية بموجب القوانين المحلية الخاصة بك، والتي لا يمكن لهذه الاتفاقية أن تغيرها. وإلى الحد الذي تسمح به القوانين المحلية الخاصة بك، ينفي الموزعون عن أنفسهم أي ضمانات أو شروط ضمنية، بما في ذلك الضمانات أو الشروط الخاصة بالقابلية للتسويق والملاءمة لغرض معين وعدم الانتهاك. • تحديد الأضرار واستثناؤها. يمكنك الحصول على تعويض من Microsoft ومورديها مقابل الأضرار المباشرة فقط بحيث لا يتجاوز ذلك المبلغ الذي دفعته مقابل البرنامج. لا يمكنك الحصول على أي تعويض يتعلق بأية أضرار أخرى بما في ذلك الأضرار اللاحقة أو خسارة الأرباح أو الأضرار الخاصة أو غير المباشرة أو العارضة.
Software’s Chronic Crisis • Failure of software causes the loss of: • Time • Money • User satisfaction, and • LIVES
Werewolves Out of all the scary monsters of the past, werewolves were the scariest because the change shape without notice.
Lecture 1 Outline • Review of where we are • Course objectives and Contents • Course administration
SE II Course Objectives • This course aims to: • Emphasize design concepts and design patterns. • Train students on applying software QA through software development process. • Educate / Train students developing / deploying scalable systems in the cloud. • Educate / Train students on software testing. • Teamwork.
Course Contents We will cover as much of these as we can: • Design and design patterns 35% • Introduction to Design (3~4 wks) • Software Architecture • Design Principles • Design Patterns • Design QA & Evaluation
Course Contents We will cover as much of these as we can: • Quality Assurance and Testing 40% • Overview of QA in SE (4 wks) • Reviews • Refactoring • Unit and Integration Testing • Configuration Managment
Course Contents We will cover as much of these as we can: • Cloud Deployment / PM 25% • Cloud Models (2-3 wks) • RESTful Architecture • Google App Engine • Managing SW Projects • Scrum
Course Evaluation • Final 60% • Midterm 10% • Lab Practice 5% • Projects 15% • Groups 4 from the same lab • Three phases • Quizzes + Assignment 10% • Weeks: 3, 6, 9, 12
Course Project • Phase I Setup, REST, Cloud 28, 7 Mar, 14 Mar • Phase II Design, DP Mid April • Phase III QA, Testing Mid May