Software Engineering D7032E

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Object-Oriented Analysis and Design
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
Software Architecture in Perspective SENG 480/580 (H. Muller) Today: Margaret-Anne Storey
© Copyright Eliyahu Brutman Programming Techniques Course.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Introduction.
Software Architecture in Practice
SwE 313 Introduction to Rational Unified Process (RUP)
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
CSC230 Software Design (Engineering)
Copyright © 2014 ASTQB Presented by Rex Black, CTAL Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further.
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
What is Software Architecture?
Software Architecture in Practice (3rd Ed) Introduction
Effective Methods for Software and Systems Integration
CPTE 209 Software Engineering Summary and Review.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Rational Unified Process Fundamentals Module 4: Disciplines II.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Identify steps for understanding and solving the
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
What is Software Architecture? | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS Chapter 2, Authors: Len Bass, Paul,
1 Introduction to Software Architectures Lecture - 3.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Why is Software Architecture Important? © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
John D. McGregor Class 4 – Initial decomposition
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a:
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
What is BizTalk ?
100% Exam Passing Guarantee & Money Back Assurance
Software Engineering Management
CONNECT.
Chapter 11: Software Configuration Management
Requirements Analysis Scenes
Advance Software Engineering
1.Introduction to Rational Unified Process (RUP)
Design and Implementation
Introduction to Software Testing
Documenting an Architecture
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Software engineering -1
Software Engineering D7032E
Chapter 11: Software Configuration Management
An Introduction to Software Architecture
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Software Architecture
Human Computer Interaction Lecture 14 HCI in Software Process
System Development Methods
Presentation transcript:

Software Engineering D7032E Teacher: Josef Hallberg

About me Josef Hallberg PhD in Media technology Research interests: Smart homes E-health Room: A3305 Phone: 0920 49 31 77 Mail: josef.hallberg@ltu.se

Outline of this course Practical Software Engineering Software Architecture Quality Attributes Working with large software Tools-of-the-trade Best practices

Changes and Prerequisites On Changes and Prerequisites

Course information http://www.sm.luth.se/courses/d7032e https://fronter.com/ltu

I would like discussions I encourage you to ask questions I will try to prepare questions to discuss Beehive discussions 3-4 people Learn from each other

Software development lifecycle

Design – Software Architecture Module structures Responsibilities of each module? What access to other software elements? Dependencies? Relationships?

Design – Software Architecture Component-and-connector structures Major executing components and interaction at runtime? Major shared data stores? Progress through the systme? What can run in parallel? Dynamic behavior? Changes at runtime?

Design – Software Architecture Allocation structures What processor does elements execute on? In what directories or files are things stored? What software elements are assigned to which team?

Discussion points What aspects should be considered when designing a software architecture? What is the role of a software architect? Why is software architecture important?

Why is software architecture important? Will inhibit or enable driving quality attributes Allows management of change as it evolves Early prediction of a system’s qualities Enhance communication among stakeholders Fundamental design decisions Constraints on subsequent implementation Dictates the structure of an organization Basis for evolutionary prototyping

Why is software architecture important? Allows reasoning about cost and schedule Transferable, reusable model that form the heart of a product line Assembly of components, rather than simply on their creations Channels the creativity of developers, reducing design and system complexity Foundation for training a new team member

Implementation Understanding a design Version management Configuration management Error handling Coding / Debugging / Testing Documentation

Testing Understanding and testing use-cases Writing automated test-cases White box / Black box / Grey box testing Regression / Integrated / Test driven / Unit testing

Assignments Made to reflect the content Understand a design and implications of design choices Identify and understand design-patterns Identify stakeholders and requirements Design a feature according to requirements Implement a feature according to a design Version control Create test-cases and verify functionality Document code

Assignments A0: Groups of 2-3 people A0: Select a GitHub project to work on > 200 forks Automated test suite Something that inspires you A1: Reverse engineer A2: Identify design patterns A3: Implement Change/Feature request A4: Test and deploy A5: Presentation and demo A6: Home Exam

Examination Assignments: Pass or Fail Home Exam: Fail, 3, 4, 5 Do not cheat Always reference/cite source material Collaboration is fine, but provide your own answers

Questions?

Find yourself a group Exchange contact information Start on Assignment 0 Register on the course Notify me if you can’t find a group