Download presentation
Presentation is loading. Please wait.
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)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.