Software Engineering COSC 4460 Class 4 Cherry Owen.

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design
Advertisements

® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 4: Phase Management - Elaboration.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
Dynamic Systems Development Method (DSDM)
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
OO Development Process. UML and Process UML standardizes notation, not process –Increase likelihood of widespread acceptance There is significant variability.
Notion of a Project Notes from OOSE Slides - modified.
SwE 313 Introduction to Rational Unified Process (RUP)
Iterative development and The Unified process
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Systems Engineering Management
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Object Oriented Analysis and Design Using the UML
Enterprise Architecture
UML - Development Process 1 Software Development Process Using UML (2)
Lesson 7 Guide for Software Design Description (SDD)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Engineering Chapter 15 Construction Leads to Initial Operational Capability Fall 2001.
RUP Fundamentals - Instructor Notes
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
INFO415 An overview of systems development
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
RUP Implementation and Testing
Rational Unified Process Fundamentals Module 4: Disciplines II.
RUP Design RUP Artifacts and Deliverables
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed., Addison-Wesley, 2006 and on the Ch11 PowerPoint.
Chapter 7 Applying UML and Patterns Craig Larman
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Chapter 12: User Interface Design
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Software Design Process
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
The principles of an object oriented software development process Week 04 1.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Rational Unified Process (RUP)
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
28 June 2000P. Mato, CERN1 Software Checklist Proposal for controlling and documenting all the steps in developing software Program of Work Meeting, June.
44222: Information Systems Development
Enterprise Architectures. Core Concepts Key Learning Points: This chapter will help you to answer the following questions: What are the ADM phase names.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
Case Study of Agile Development Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Chapter 1 Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1 ©2016.
Advance Software Engineering
1.Introduction to Rational Unified Process (RUP)
UNIFIED PROCESS.
Object Oriented Analysis and Design
Rational Unified Process
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
Presentation transcript:

Software Engineering COSC 4460 Class 4 Cherry Owen

Chapter 4 An Architecture-Centric Process The architecture is the foundation of the system. The architecture is the foundation of the system. The architecture shows various views of the system. The architecture shows various views of the system. The architecture leaves out details which are not necessary to understand the overall system. The architecture leaves out details which are not necessary to understand the overall system.

Purpose of the Architecture Understand the system at a high level Understand the system at a high level Organize the development Organize the development Foster reuse Foster reuse Evolve the system Evolve the system

Architectural Baseline baseline is released at the end of the elaboration phase baseline is released at the end of the elaboration phase consists of a set of approved artifacts consists of a set of approved artifacts represents an agreed upon basis for further development represents an agreed upon basis for further development can be changed only through a formal procedure such as configuration management or change management can be changed only through a formal procedure such as configuration management or change management

What Makes Up the Architecture? Deployment diagram Deployment diagram Significant subsystems Significant subsystems Relationships of significant subsystems Relationships of significant subsystems Most significant classes within each subsystem Most significant classes within each subsystem Interfaces, collaborations and dependencies Interfaces, collaborations and dependencies Screen and report design (user interface) Screen and report design (user interface)

Use Cases and Architecture Find out what the user needs and wants to do with the system. Find out what the user needs and wants to do with the system. Write preliminary use cases. Write preliminary use cases. Consider the architecture. Consider the architecture. Refine and add to the use cases. Refine and add to the use cases.

A Skeleton of a System The architecture is the big picture of how we will put things together, so everybody has a guideline to know where their part fits in. The architecture is the big picture of how we will put things together, so everybody has a guideline to know where their part fits in.

Defining an Architecture Look at the architecture for a general application of the type you are doing. Look at the architecture for a general application of the type you are doing. Pick nodes, operating systems, middleware, database, legacy systems, standards and policies, and do a deployment model. Pick nodes, operating systems, middleware, database, legacy systems, standards and policies, and do a deployment model. Pick the most architecturally significant use cases (what is significant depends on the goal of the application.) Pick the most architecturally significant use cases (what is significant depends on the goal of the application.) Capture requirements, analysis, design, implement and test for the selected use cases. Capture requirements, analysis, design, implement and test for the selected use cases.

Adaptability The use cases must be adapted to the architecture already in place. The use cases must be adapted to the architecture already in place. We must know what already exists and fit the new use cases into it. We must know what already exists and fit the new use cases into it. Therefore, an architecture must allow for easily adding functionality with minimal effect on the rest of the system. Therefore, an architecture must allow for easily adding functionality with minimal effect on the rest of the system.

Iterations Iterate through the workflows several times until at the end of the elaboration phase you have a baseline architecture. Iterate through the workflows several times until at the end of the elaboration phase you have a baseline architecture. This will be a skeleton of the system with a few software "muscles." This will be a skeleton of the system with a few software "muscles." The baseline is a working system that covers the essential functionality of the system according to user priorities. The baseline is a working system that covers the essential functionality of the system according to user priorities. The baseline also addresses the most serious risks. The baseline also addresses the most serious risks.

Feedback The operational architecture baseline provides a working demonstration to which workers (developers, testers, users) can provide feedback. The operational architecture baseline provides a working demonstration to which workers (developers, testers, users) can provide feedback.

Architecture Patterns A pattern is a solution to a commonly occurring design problem. A pattern is a solution to a commonly occurring design problem. Often patterns are presented using standard documentation templates. Often patterns are presented using standard documentation templates. The templates assign a name to a pattern. The templates assign a name to a pattern. They present a summary of the problem. They present a summary of the problem. Some architectural patterns: Some architectural patterns: Layers, Pipes & Filters, Broker Layers, Pipes & Filters, Broker

Issues in Architecture high performance high performance high quality high quality highly functional highly functional testable testable user-friendly user-friendly reliable reliable highly available highly available accurate accurate expandable expandable change-tolerant change-tolerant robust robust maintainable maintainable portable portable secure secure safe safe economical economical

Experience shows that less than 10% of the classes in a system are relevant to the architecture.

Architect Qualifications Know the domain in which she works. Know the domain in which she works. Must work knowledgeable with all stakeholders. Must work knowledgeable with all stakeholders. Has knowledge of software process and all parts of software development. Has knowledge of software process and all parts of software development. Is not the project manager, but has total management support. Is not the project manager, but has total management support.