1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.

Slides:



Advertisements
Similar presentations
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Advertisements

Lecture 1 Introduction to the ABAP Workbench
Unified Modeling Language
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Reconstructing an Architecture. Why Lost documentation No documentation ever Architectural drift Prove conformance.
The Experience Factory May 2004 Leonardo Vaccaro.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 20 – 11 – 2011 College Of Computer Science and Information, Information Systems.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Database Administration
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Ch9: Software Engineering Tools and Environments.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design.
Software Reengineering 2003 년 12 월 2 일 최창익, 고광 원.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
The Design Discipline.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Requirements Analysis
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Some Thoughts on HPC in Natural Language Engineering Steven Bird University of Melbourne & University of Pennsylvania.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
ITEC224 Database Programming
An Introduction to Software Architecture
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Project Coordinators: Eduardo Santana de Almeida Silvio Romero de Lemos Meira Federal University of Pernambuco Informatics Center Recife Center for Advanced.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System Abdelwahab Hamou-Lhadj Timothy Lethbridge.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
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.
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Computer Systems & Architecture Lesson 4 8. Reconstructing Software Architectures.
Information in the Digital Environment Information Seeking Models Dr. Dania Bilal IS 530 Spring 2005.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
Software Prototyping Rapid software development to validate requirements.
March 31, 1998NSF IDM 98, Group F1 Group F Multi-modal Issues, Systems and Applications.
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
CS223: Software Engineering
Week 7 Lecture Part 2 Introduction to Database Administration Samuel S. ConnSamuel S. Conn, Asst Professor.
Connecting Architecture Reconstruction Frameworks Ivan Bowman, Michael Godfrey, Ric Holt Software Architecture Group University of Waterloo CoSET ‘99 May.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
Testing Tools & Standards
Chapter 20: Architecture Reconstruction and Conformance
The Web Application Development Process Models
Modern Systems Analysis and Design Third Edition
Data Warehouse.
Reverse Engineering: A Roadmap
Reconstructing an Architecture
Chapter 1 Introduction(1.1)
Reconstructing an Architecture
Reconstructing an Architecture
Presentation transcript:

1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University

Outline 1. Introduction 2. Information Extraction 3. Database Construction 4. View Fusion 5. Reconstruction 6. Summary 2

Reconstructing Software Architectures Lecture: 11 3

1. Introduction So far we have treated architecture as something largely under our control What if system already exists but we do not know its architecture due to some reason? Using the 'reconstruction', the architecture is obtained from an existing system  The process can be both successful and unsuccessful Architecture reconstruction is an interpretive, interactive, and iterative process  The reconstruction process is not automatic 4

Introduction (Continue…) Reconstruction requires the skills of both the reverse engineer and the architect Uses of results of architectural reconstruction  The recovered architectural representation can be used as a basis for re-documenting the architecture  The reconstruction can also be used as the basis for analyzing the architecture  A starting point for re-engineering the system to a new desired architecture  It can be used to identify elements for re-use 5

Introduction (Continue…) Workbench Approach  Architecture reconstruction requires tool support, but no single tool is always adequate to carry it out Tools tend to be language-specific Data extraction tools are imperfect The goals of reconstruction vary  Use of recovered documentation will determine what information to extract, which helps tools selection  Tool selection issue has led to a new design philosophy known as the workbench A workbench should be open and provide a lightweight integration framework whereby tools added to the tool set do not affect the existing tools or data unnecessarily 6

Introduction (Continue…) Architecture Reconstruction Activities 1. Information Extraction 2. Database Construction 3. View Fusion 4. Reconstruction 7

Introduction (Continue…) 8 Architecture Reconstruction Activities (Continue…)

2. Information Extraction Information extraction involves analyzing a system's existing design and implementation artifacts to construct a model of it From the source artifacts and other artifacts we can identify the elements of interest within the system and their relationships  Parsers analyze code & generate internal representations from it  Lexical analyzers examine source artifacts purely as strings of lexical elements or tokens  Profiling and code coverage analysis tools can be used to output information about the code as it is being executed 9

Information Extraction (Continue…) Elements and Relationships 10

3. Database Construction The extracted information is converted into a standard format for storage in a database Guidelines to select database model;  It should be a well-known model, to make replacing one database implementation with another relatively simple  It should allow for efficient queries, which is important given that source models can be quite large  It should support remote access of the database from one or more geographically distributed user interfaces  It should supports view fusion by combining various tables  It should supports query languages  Checkpointing should be supported to undo actions 11

4. View Fusion View fusion involves defining and manipulating extracted information to reconcile, augment, and establish connections between the elements Different forms of extraction should provide complementary information Consider the figure presented in next slide for more information about view fusion 12

View Fusion (Continue…) Static and Dynamic Data Information about Relation “ class_contains_method” 13

5. Reconstruction The reconstruction operates on views to reveal broad, coarse-grained insights into the architecture. Reconstruction consists of two primary activities: visualization and interaction and pattern definition and recognition  Visualization and interaction provides a mechanism by which the user may interactively visualize, explore, and manipulate views  Pattern definition and recognition provides facilities for architectural reconstruction 14

Reconstruction (Continue…) 15

Reconstruction (Continue…) 16

Reconstruction (Continue…) 17

18 Summary Any Questions?