Organization. Introduction to Software Engineering



Similar documents
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

IES - Introduction to Software Engineering

Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk

City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16

Information systems modelling UML and service description languages

I219 Software Design Methodology

Quality Ensuring Development of Software Processes

CS4507 Advanced Software Engineering

Masters of Science in Software & Information Systems

Hochschule Esslingen University of Applied Sciences

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr.

SAPM Overview. Semester Summary. Project management. Tools (1) Dr. James A. Bednar

A Meeting Room Scheduling Problem

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering

Programming and Software Development CTAG Alignments

Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6

Component-Based Software Engineering (CBSE) Announcements

[2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information

Singletons. The Singleton Design Pattern using Rhapsody in,c

Chain of Responsibility

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering

Experiences with ALM tools in Software Engineering course

Object-Oriented Design Guidelines

Ontological Representations of Software Patterns

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Course: ISYS 4373 Application Development with Java Prerequisite: ISYS 3293

The WebShop E-Commerce Framework

DEGREE CURRICULUM SOFTWARE ARCHITECTURES Degree in Computer Engineering. Teaching staff: GIL IRANZO, ROSA MARIA GARCIA GONZALEZ, ROBERTO

Chapter 13: Program Development and Programming Languages

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

Software Engineering. Introduction. Lecturer: Giuseppe Santucci

Introduction. Observation Patterns. Accounting Patterns. How to use Patterns

SYLLABUS. Software Engineering

Architectural Patterns (3)

ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS

A methodology for measuring software development productivity using Eclipse IDE

Teaching Software Engineering Through Game Design

Assuming the Role of Systems Analyst & Analysis Alternatives

Core Issues Affecting Software Architecture in Enterprise Projects

A methodology for secure software design

Chapter 13: Program Development and Programming Languages

Chapter 7: Software Engineering

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Real-World Object-Oriented Design Experience for Computer Science Students

System development lifecycle waterfall model

An Iterative and Agile Process Model for Teaching Software Engineering

Evaluating OO-CASE tools: OO research meets practice

A First Set of Design Patterns for Algorithm Animation

Engineering. Software. Eric J. Braude. Michael E. Bernstein. Modern Approaches UNIVERSITATSBIBLIOTHEK HANNOVER ' TECHNISCHE INFORM ATIONSBIBLIOTHEK

From Systems to Services

Chapter 8 Approaches to System Development

The Online Grade Book A Case Study in Learning about Object-Oriented Database Technology

Pattern. seconda parte. Types of patterns. ...other good guidance... some GRASP. design patterns (software design) Types of software patterns

CS 4330: Mobile Application Development Spring 2015

The WebShop e-commerce framework

Object-Oriented Design

Institute of Research on Information Systems (IRIS) Course Overview

Basic academic skills (1) (2) (4) Specialized knowledge and literacy (3) Ability to continually improve own strengths Problem setting (4) Hypothesis

CS 4240: Principles of Software Design. Course Introduction. Tom Horton

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

Software Visualization Tools for Component Reuse

How To Design An Information System

Design Patterns for Managing Product Lifecycle Information

Endo-Testing: Unit Testing with Mock Objects

MANAGEMENT S ROLE 1/16/ Copyright 2001, Net Objectives

Software Development Foundations CPSC Spring 2014 Syllabus

Axiomatic design of software systems

Chapter 1 Fundamentals of Java Programming

City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16

Software Project Management

How To Program A Computer

(BA122) Software Engineer s Workshop (SEW)

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

On the Applicability of Io, a Prototype-Based Programming Language

SYSTEMS ANALYSIS DESIGN

17. Evolutionary Object-Oriented Software Development (EOS) An agile process based on PBS

An Introduction to Software Engineering

Research Topics in Software Engineering

Software Engineering

What is a life cycle model?

Object-oriented design methodologies

Transcription:

Dr. Michael Eichberg Software Technology Group Department of Computer Science Technische Universität Darmstadt Introduction to Software Engineering Organization

Teaser

Background Information 3 As long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become a gigantic problem. E.W. Dijkstra The Humble Programmer Communications of the ACM, Vol. 15, Issue 10, 1972

The Team

The Team Organization Dr. Michael Eichberg Sven Amann Manuel Weiel Contact WWW http://www.stg.tu-darmstadt.de/teaching/teaching_iverview.en.jsp Forum http://www.d120.de/forum/ kanonische Einführungsveranstaltungen Einführung in Software Engineering 5

Organization

Lecture Organization 7 Thursdays 13:30-15:00 in S2 02 C205 and C110 The slides are in English (Key terms will be translated into German.) The slides will generally be available after the lecture (I will try hard to make a preliminary version available the day before the lecture.) The slides can be found at: http://stg-tud.github.io/eise/

Exercises Organization 8 Every week, we will have an exercise, starting today Exercises are expected to be solved in teams of 3 students The content of the exercise is relevant for the exam Sign-up as a team; if you don t have a team, we will assign you to a team All further details will be announced in today s exercise. The content of the exercise is relevant for the exam

Written Exam Organization 9 The exam will be on February, 26th 2015-14:30-16:00 (The room will be announced in due time. The exam will take 90min.) You need to register for the exam in TUCaN (There are no further prerequisites; everyone can attend the exam.) The exam will be an open book exam The exam will enable you to choose the tasks that you are particular good at (I.e., it will not be possible to solve the entire exam in 90 minutes.)

Related Bibliography Organization 10

Essential Bibliography Organization 11 Design Patterns - Elements of Reusable Object-Oriented Software; Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; Addison-Wesley, 1995 Applying UML and Patterns - An Introduction to Objectoriented Analysis and Design; Craig Larman; Prentice Hall

A Recommended / Very Useful Podcast Organization 12

External Talks / Events Organization 13 MSG Requirements Engineering November, 2014 Capgemini Excursion / One-day Workshop December, 2014 ACCSO - Working Title: Beschleunigte Softwareentwicklung January, 2015

! The Lecture

Basic programming skills are required. Teaser 15 Basic knowledge of object-oriented programming concepts is necessary I.e., you should readily understand the following terms: class, interface object inheritance polymorphism Working knowledge of the Java (7) programming language We are going to use Java 8

Basic Goals Content / Structure of the Lecture 16 To get a brief overview of all areas of software engineering To understand agile software development processes To be able to perform object-oriented analysis and design To be able to read and create basic UML diagrams To perform basic Software Quality Assurance To get first hands-on experience and to learn to use basic software development tools

Content / Structure of the Lecture 17 The goal is to enable you to systematically carry out small(er) commercial or open-source software projects.

Content / Structure of the Lecture 18 Introduction to Software Engineering What is Software (?) Engineering (?) Software Project Management Software Engineering Tools Object-Oriented Analysis and Design UML Modeling

Content / Structure of the Lecture 19 Introduction to Software Engineering... Software Project Management... Properties of Software Projects Requirements Engineering Software Engineering Processes Risk Management Agile Methods Waterfall Model Extreme Programming Unified Process Introduction to Software Engineering What is Software (?) Engineering (?) Software Project Management Software Engineering Tools Object-Oriented Analysis and Design UML Modeling

Content / Structure of the Lecture 20 Introduction to Software Engineering... Software Engineering Tools... IDEs Revision Control Sytems Unit Testing SVN GIT ECLEmma Introduction to Software Engineering What is Software (?) Engineering (?) Software Project Management Software Engineering Tools Object-Oriented Analysis and Design UML Modeling

Content / Structure of the Lecture 21 Introduction to Software Engineering... Object-Oriented Analysis and Design UML Modeling... requires requires General Design Goals Responsibility Driven Design / GRASPrinciples Design Heuristics Domain Modeling Design Patterns Class Diagrams Sequence Diagrams High Cohesion Low Coupling Singleton Template Method... Communication Diagrams Introduction to Software Engineering What is Software (?) Engineering (?) Software Project Management Software Engineering Tools Object-Oriented Analysis and Design UML Modeling

Developing Competence 22 Knowledge +application Information +cross-linking Attitude Professionalism Competence +responsibility +suitability / adequacy Ability +assessment (e.g., the choice of a specific design/process)

Content Distribution Content / Structure of the Lecture 23 UML "General" Software Engineering Topics: - Software Quality - Requirements Engineering - Software Engineering Processes -... - General Design Principles - Object-Oriented Design Heuristics - Object-Oriented Design Patterns Lecture

Related Lectures 24 Software Engineering in der industriellen Praxis Software Engineering - Projektmanagement GDI I GDI II Einführung in Software Engineering Software Engineering Design and Construction Enterprise Application Design Konzepte der Programmiersprachen