Professional Documents
Culture Documents
L1 Intro Chapter1
L1 Intro Chapter1
• Administrative stuff
• Course objectives
• Term project
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2
People, Times, and Locations
• Class hours:
• Room: C-210
• Tuesdays: 09:55 – 12:30
• Tuesdays : 17:00 – 19:35 (Night Edu.)
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3
Textbook
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4
Course Platform
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5
Grading
• Tentative Grading:
• Exams:
• Midterm exam (30%)
• Final exam (40%)
• Term project (30%)
• ~3 reports
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6
Objectives of the Class
• Change approach to software engineering
• Get away from directly starting coding from
requirements
• Understand how to
• Produce a high-quality software system within limited
time
• while dealing with complexity and change
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7
Objectives of the Class
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8
Use Case Modeling – Sample UML Diagram
http://conceptdraw.com/en/products/cd5/ap_uml.php
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9
Object Modeling – Sample UML Diagram
http://www.dofactory.com/net/composite-design-pattern
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10
Dynamic Modeling – Sample UML Diagram
http://conceptdraw.com/en/products/cd5/ap_uml.php
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11
SW Engineering Failures
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12
Why is software development difficult?
• The problem domain (also called application
domain) is difficult
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13
Software Engineering is more than
writing Code
• Problem solving
• Creating a solution
• Engineering a system based on the solution
• Modeling
• Knowledge acquisition
• Rationale management
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14
Software Engineering:
A Problem-Solving Activity
• Analysis:
• Understand the nature of the problem and break the
problem into pieces
• Synthesis:
• Put the pieces together into a large structure
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15
Techniques, Methodologies and Tools
• Techniques:
• Formal procedures for producing results using
some well-defined notation
• Algorithms, cookbook recipes are examples of
techniques
• Methodologies:
• Collection of techniques applied across software
development and unified by a philosophical
approach
• A cookbook is a methodology
• Tools:
• Instruments or automated systems to
accomplish a technique
• Examples of tools are: Pans, pots and stove
• CASE = Computer Aided Software Engineering.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16
Software Engineering: A Working
Definition
Software Engineering is a collection of techniques,
methodologies and tools that help with the
production of
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18
Software Engineering Concepts
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19
Overview of OOSE Activities
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20
Software Lifecycle Activities ...and their
models
Implemented
Expressed in Structured By By Verified
Realized By
Terms Of By
class...
class...
class... ?
class.... ?
Use Case Application Solution
Domain Subsystems Source Test
Model Domain
Objects Code Cases
Objects
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 21
Assignments
• Course page
• Follow the announcements in Teams
• Next week
• We will start learning UML notation
• You can read Chapter 2
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22
Term Project
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23
Academic Ethics and Integrity
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24