Software Architecture Architecture represents different things from use cases –Use cases deal primarily with functional properties –Architecture deals.

Slides:



Advertisements
Similar presentations
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Advertisements

The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Intro to Rational Unified Process Software Process Improvement Marion Lepmets
CS487 Software Engineering Omar Aldawud
Chapter 3 Process Models
Arlow and Neustadt ch.21 What is the unified process? People are more important than any process. Good people with a good process will outperform good.
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
OO Development Process. UML and Process UML standardizes notation, not process –Increase likelihood of widespread acceptance There is significant variability.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Adjusting EPLC to your Project Colleen Robinson & Teresa Kinley Friday, February 6, 2009.
Iterative development and The Unified process
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Architecture, Implementation, and Testing Architecture and Implementation Prescriptive architecture vs. descriptive architecture Prescriptive architecture:
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Enterprise Architecture
Principles of Object Technology Module 1: Principles of Modeling.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
Software Engineering Chapter 15 Construction Leads to Initial Operational Capability Fall 2001.
RUP Fundamentals - Instructor Notes
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Rational Unified Process Fundamentals Module 4: Disciplines II.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Identify steps for understanding and solving the
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Architecting Web Services Unit – II – PART - III.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Chapter – 9 Checkpoints of the process
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
The Rational Unified Process 1 EECS810: Software Engineering.
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.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Rational Unified Process (RUP)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Object oriented analysis and design 1 Software Development Life Cycle (SDLC)
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
TK2023 Object-Oriented Software Engineering
Process 4 Hours.
The Unified Software Development Process
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Unified Process Source & Courtesy: Jing Zou.
Rational Unified Process
Software engineering -1
Presentation transcript:

Software Architecture Architecture represents different things from use cases –Use cases deal primarily with functional properties –Architecture deals primarily with non-functional properties Encompasses important decisions about –system organization –structural elements and their interfaces, together with their composite behavior –Composition of structural and behavior elements into progressively large subsystems –Architectural style that guides system organization

Why Architecture Important Complexity, Time and Cost Need architecture for –understanding the system –organize development –Foster reuse –Evolve the system Another perspective –nonfunctional properties play ever important role in software –software systems are developed to be changed, extended, ported –increasing need for enterprise systems - system of systems –base for component-based software development

Understanding Systems Challenges of (complex) software development –complex behavior –complex operating environment –technologically complex –combination of distributed computing, commercial products and platforms –large  development divided into multiple, geographically distributed projects with different time spans Common, sufficiently abstract (high-level) view of system composition and behavior is the basis for understanding and communication

Architecture and Reuse Effective reuse at high-level of abstraction Fundamental issue of reuse is compose-ability –I.e. the ability to insert an existing component into a new structure –Issue of consistent and compatible interfaces –Issue of interaction and control structure Standard is key to reuse –The basis for standardizing reusable components is standard architecture

Where Does Architecture Come From?

Multi-Facets of Architecture - Architecture Baseline

Architecture Patterns or Templates

Ideal Evolution of Architecture

Iterative And Incremental Process

Milestones and Criteria for Evolution Effective process has sequence of clearly articulated milestones that provide the criteria for moving from one phase to another in product cycle Series of iterations and increments within each phase lead to the satisfaction of criteria

Inception Phase Criterion: Viability Identify and reduce risks critical to the system’s viability Move from a key subset of requirements through use case modeling into a candidate architecture Make initial estimate with broad limits, of cost, effort, schedule, and product quality Initiate business case that the product is worth doing (economically) and within broad limits

Elaboration Phase Criterion: Ability to Build System in an Economic Framework Identifying and reducing the risks significantly affecting system construction Specify most of the use cases representing system’s functionality Extending candidate architecture to executable baseline proportions Prepare project plan in sufficient details Make estimate with limits narrow enough to justify a business bid Finalizing the business case - the project is worth doing

Construction Phase Criterion: System Capable of Initial Operation in User Environment A series of iterations, leading to periodic builds and increments, so that throughout this phase, viability of the system (hence the project) is always evident in executable form

Transition Phase Criterion: System Archives Final Operational Capability Modify the product to alleviate problems not identified in earlier phases Correcting defects

Why Iterative And Incremental Development? To get a handle on critical and significant risks early To set forth an architecture to guide development To provide a framework to better handle requirement and other changes To provide a development process through which the staff can work more effectively –Allowing for tactical changes to adjust plans, schedules, etc. –Archiving continuous integration, force developer to closure at regular intervals that accurately indicate the status of project –Attaining early learning

Risks Associated With Software Development Risks related to new technologies –distributed computation, process distribution, synchronization –functions depending on techniques/technologies yet to be developed –new technology changes during development Risks related to architecture –key to large scale development –stableness is essential –changes to architectural standards and frameworks

Risks - continued Risks related to building the right system –finding the right set of (functional and non-functional) requirements –handling requirement changes Risks related performance –response time –throughput, etc The iterative approach is risk driven

What Is An Iteration? Iteration is a mini-project - a more or less traversal of all core workflows - resulting in an internal release

Each iteration has distinctive emphases

Models Evolves From Iterations