Presentation is loading. Please wait.

Presentation is loading. Please wait.

510411 Software Engineering About the Course 510411 Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.

Similar presentations


Presentation on theme: "510411 Software Engineering About the Course 510411 Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University."— Presentation transcript:

1 510411 Software Engineering About the Course 510411 Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University

2 510411 Software Engineering 2 Instructor Name: Qutaibah Malluhi, Title: Professor Computer Science and Engineering Department Office: Corredor 8, CV27 Phone: 485-1594 Office Hrs: TBD Email: qmalluhi@qu.edu.qaqmalluhi@qu.edu.qa

3 510411 Software Engineering 3 Course URL  http://127.17.151.93/courses/SWEng http://127.17.151.93/courses/SWEng  Currently accessible inside campus?  Address will change  Dynamic and evolving document

4 510411 Software Engineering 4 Requirements for this Class  204303 (Data Structures and Algorithms)  The course assumes proficiency in a programming language  Strong motivation to learn more about the technical aspects of analysis and design of complex software systems

5 510411 Software Engineering 5 Textbook  Bernd Bruegge, Allen Dutoit, “Object-Oriented Software Engineering: Using UML, Patterns, and Java”, 2 nd Edition, Prentice Hall, 2003. (ISBN 0- 13-047110-0)  Book has an associated web site that can be found at http://wwwbruegge.in.tum.de/pr ojects/lehrstuhl/twiki/bin/view/ OOSE/WebHome  Additional readings may be recommended during individuals lectures

6 510411 Software Engineering 6 Grading  Evaluation  Mid Term Exam20%  Final Exam (comprehensive)40%  Presentation10%  Lab assignments30%  Grading Scale  85 - 100%A  75 - 84%B  60 - 74%C  50 - 59%D  Below 50%F  Typically goes down (to your benefit) at the end of the semester but never goes up

7 510411 Software Engineering 7 About Software Engineering  What is Software Engineering?  Why Software Engineering?

8 510411 Software Engineering 8 Setting the Context Small project You Build what you want One product Few sequential changes Short-lived Cheap Small consequences Ad-hoc approach Huge project Teams Build what they want Family of products Many parallel changes Long-lived Costly Large consequences Systematic approach ProgrammingEngineering

9 510411 Software Engineering 9 Motivation: The Mythical Man-Month  Title of the classic Software Engineering book  by Brooks  In 1975 based on experience in 1965  Manager in the OS/360 project – largest software in its time  Brooks Law  “Adding manpower to a late project makes it later”

10 510411 Software Engineering 10 Estimating the cost with man-months  Traditional man-month  10 people working for 1 month = 10 man-months  Assumptions:  People and months can be interchanged  Tasks can be done in absolute parallelism  The reality  Interrelationships are complex  Communication is expensive and not easy  Project tasks are typically not isolated  Examples of costs of adding project personnel  Training  Preserving “conceptual integrity”  Communication paths Far from being linearly scalability Far from being linearly scalability

11 510411 Software Engineering 11 Issues about Scaling  When the problem is orders-of-magnitude larger, new technologies may be necessary  High powered techniques not appropriate for all problems (Using an elephant gun to kill a fly)

12 510411 Software Engineering 12 Software Engineering is different than programming  For example, Software Engineering includes  determining what to build  organizing teams to cooperatively build systems  analysis and testing  lifecycle system engineering  software architecture

13 510411 Software Engineering 13 Software Engineering: Definition  Classic Definition (1969)  “The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.”  IEEE Definition (1993)  “Software Engineering: (1) The application of a systematic, disciplines, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software. (2) The study of approaches as in (1).”

14 510411 Software Engineering 14 Problem Solving COMPUTER SCIENCE COMPUTER SCIENCE CUSTOMER SOFTWARE ENGINEERING SOFTWARE ENGINEERING Theories Computer Functions Problem Modeling, problem solving, rationale mngmnt, & data collection Modeling, problem solving, rationale mngmnt, & data collection Tools and Techniques to Solve Problem High Quality & Economical Software Solution High Quality & Economical Software Solution

15 510411 Software Engineering 15 Distribution of Software Cost Source: Steven Schach, Software Engineering, 2 nd Ed., Asken Associates. Designing software with change in mind is extremely important

16 510411 Software Engineering 16 Software Engineering: Textbook Definition  “Software Engineering is a collection of techniques, methodologies and tools that help with the production of  a high quality software system  with a given budget  before a given deadline while change occurs.”

17 510411 Software Engineering 17 Objectives of the Class  Appreciate Software Engineering  Understand how to  produce a high quality software system within time  while dealing with complexity and change  Understand System Modeling and learn different modeling methods  Functional (use case) modeling  Object Modeling  Dynamic Modeling  Learn UML (Unified Modeling Language)  Learn how to use CASE (Computer Aided Software Engineering) tools  In the lab  Tool: Eclipse with UML plugin  Understand SWE Development activities  Requirements elicitation, analysis, system design, object design, implementation, and testing  Introduce software development methodologies  Agile methodologies and extreme programming (XP)


Download ppt "510411 Software Engineering About the Course 510411 Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University."

Similar presentations


Ads by Google