Design and Architecture of Complex Software Systems 3 rd year, Software Engineering Conf.dr.ing. Ioana Şora

Slides:



Advertisements
Similar presentations
E-Science Data Information and Knowledge Transformation Thoughts on Education and Training for E-Science Based on edikt project experience Dr. Denise Ecklund.
Advertisements

Establishing an SOA Focused Enterprise Architecture Asanka Abeysinghe WSO2, Inc Vice President, Solutions Architecture.
© Devon M.Simmonds, 2007 CSC 550 Graduate Course in Software Engineering ______________________ Devon M. Simmonds Computer Science Department University.
Object Oriented Analysis and Design
SIM SOFTWARE ARCHITECTURE Instructor: Masrah Azrifah Azmi Murad, PhD Room: C masrah.azrifah [at] gmail.com OR masrah [at] fsktm.upm.edu.my.
CMSC 132: Object-Oriented Programming II
Aalborg Media Lab 18-Jun-15 Introduction Introduction to System Design I Fall 2004.
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Welcome to CS680! Tue Thu 7pm - 8:15pm :-(
© Chinese University, CSE Dept. Distributed Systems / E-Commerce Course ECT7120: Distributed Systems and Software Dr. Michael R. Lyu Computer Science.
Logical Architecture and UML Package Diagrams
Course Instructor: Aisha Azeem
1 OO Java, Baile Herculane, Romania, 2005 OO Java Requirements Specification - Produce highly adaptable teaching materials - 1 st step: collect all useful.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
1 Object Oriented Programming Computer Systems Engineering (D2) and Programming (P)
Computer Network Fundamentals CNT4007C
CE0825 Object-Oriented Programming 2 © Allan C. Milne Abertay University v
Design and Architecture of Complex Software Systems Conf.dr.ing. Ioana Şora
Todd Snyder Development Team Lead Infragistics Experience Design Group.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Course Introduction Software Engineering
An analysis of exam results in the Object-Oriented Programming course at „Politehnica” University of Timisoara Ioan Jurca.
Software Engineering Introduction and Overview Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces,
Design and Analysis of Algorithms 4 th Semester Computer Engineering Spring 2015 Conf.dr.ing. Ioana Sora
© 2010 University of California, Irvine – André van der Hoek1October 23, 2015 – 10:21:58 Informatics 122 Software Design II Lecture 1 André van der Hoek.
A tour of course. Physics Course Objectives: At the end of this course the students will be able to: - Discuss science as a body of knowledge.
By Garrett Kelly. 3 types or reasons for distributed applications Data Data used by the application is distributed Computation Computation is distributed.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
Copyright Jim Martin Emerging Scholars Computer Science Session Overview: Summer 2007 Dr. Jim Martin Rising Juniors Session.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
OSes: 0. Prelim 1 Operating Systems v Objectives –to give some background on this subject Certificate Program in Software Development CSE-TC and CSIM,
CIS 280 Object-Oriented Programming Professor Zavodnik.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Challenging students to acquire deeper knowledge in HCI course N. Ackovska and M. Kostoska 15 th Workshop on “Software Engineering and Reverse Engineering”
Lecture 1: Introduction – Graduation Projects Topics to Discuss in Lectures 1. Project Deliverables 2. Course grading 3. Project Concept Writing.
By: Nelson Webster. Algorithm Engineers Algorithm engineers study the effectiveness and efficiency of procedures of solving problems on a computer.
Course File seminar NCAAA SSR Preparation (3rd dec 2015)
First week. Catalog Description This course explores basic cultural, social, legal, and ethical issues inherent in the discipline of computing. Students.
1 Ontwerp van gedistribueerde software Design of distributed software Universiteit Gent Faculteit Ingenieurswetenschappen 1ste master computerwetenschappen.
Computer Networks CNT5106C
1. USER & CUSTOMER 2.BASING DEVELOPMENT ON SOLID PRINCIPALS AND REUSABLE TECH.
Key Ideas The course is strong on concepts, principles, methods and techniques and short on technologies. This is important because the best solutions.
DOMAIN DRIVEN DESIGN Dave 12 May WHAT IS DDD? Set of principles to aid in building complex systems Enables us to focus on core problem domain NOT.
“Problem Solving Process” 6 th grade Written by Sony Gala.
Design and Analysis of Algorithms 4 th Semester Computer Engineering Spring 2016 Conf.dr.ing. Ioana Ṣ ora
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
CPSC 872 John D. McGregor Session 31 This is it..
BMTS Computer and Systems Pre-requisites :CT140 –Computer Skills Nature Of the Course: This course deals about the fundamentals of Computer such.
Module: Software Engineering of Web Applications Dr. Samer Odeh Hanna 1.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Module: Software Engineering of Web Applications
Exercise The university wants to create a database for teaching. The database needs to contain information about the different courses, the different versions.
TAL 7011 Architecture of Large Software Systems
Distribution and components
Mastering the Fundamentals of RESTful API Design
AP computer science PRINCIPLES
Algorithm Design and Analysis
Design and Architecture of Complex Software Systems
Module: Software Engineering of Web Applications
EECE 310 Software Engineering
Professor Ioana Banicescu CSE 8843
Algorithm Design and Analysis
Informatics 121 Software Design I
Module: Software Engineering of Web Applications
Data Structures and Database Applications ACST 3330
Introduction System Analysis & Design Course
Informatics 121 Software Design I
Presentation transcript:

Design and Architecture of Complex Software Systems 3 rd year, Software Engineering Conf.dr.ing. Ioana Şora

Why ? Programming, Coding, Algorithms, … are essential knowledge But: Designing real software is an exercise of managing complexity of: Requirements (functional and non-functional) Concerns (distribution, data access). Thus, we need methods for “Design in the large”

What ? Course goals: –Understanding principles and methods of architectural design –Investigating properties of proven software architectures

How ? Start from general design principles Identify classes of problems/applications and their solutions as architectural styles and patterns Learn by case-studies: –Successful systems and their software architectures –Identify the architectural patterns used in representative software for: Adaptive systems Distributed systems Data access Interoperability –Focus on the common design principles behind well- known systems, technologies, frameworks

Architectural design principles (Architectural styles and patterns) Tehnologies, Frameworks APIs Design problem Object Request Broker Pattern RMI,.NET Remoting Metalayer Architecture Data Access Patterns Reflection (in Java,.NET) Object-Relational Mappers Our focus in this course: “How it’s made ?”

Lab Applying the learned concepts in practice is essential 3-4 projects - design and implementation Final grade = 50% written exam + 50% projects

WWW