Dr. Tom Hicks. Computer Science Department Trinity University
|
|
- Walter Pitts
- 5 years ago
- Views:
Transcription
1 Dr. Tom Hicks Computer Science Department Trinity University 1 1
2 About Design With Reuse 2
3 Software Reuse Why Do We Care About Reuse? Historically: In Most Engineering Disciplines, Systems are Designed by Composing Existing Components that have been used in other systems This has always been true in Software Engineering But it is more true since templated OOP components! 3
4 Software Reuse Early Software Engineering was more focused on original development Today s Software Engineering recognizes that to achieve better software, more quickly and at lower cost We need to adopt a design process that is based on systematic reuse Software Engineering Might Reuse Full/Whole Systems Modules/Components Functions/Procedures 4
5 1. Application System Reuse Reuse-Based Software Engineering Offers 3 Reuse Options - 1 The whole of an application system may be reused either by incorporating it without change into other systems (COTS reuse) or by developing application families 5
6 2. Component Reuse Reuse-Based Software Engineering Offers 3 Reuse Options - 2 Components of an application from sub-systems to single objects may be reused 3. Function Reuse Software components that implement a single well-defined function may be reused 6
7 Benefits Of Reuse 7
8 5 Major Benefits Of Reuse Increased Reliability Components exercised in working systems 8
9 5 Major Benefits Of Reuse Reduced Process Risk Less uncertainty in development costs 9
10 5 Major Benefits Of Reuse Effective Use of Components Reuse components instead of people 10
11 5 Major Benefits Of Reuse Standards Compliance Embed standards in reusable components i.e. Reuse Requirements/Specifications 11
12 5 Major Benefits Of Reuse Accelerated Development Avoid original development and hence speed-up production 12
13 Reuse Requirements 13
14 3 Requirements For Design With Reuse - 1 A. It must be possible to find Appropriate Reusable Components 14
15 3 Requirements For Design With Reuse - 2 B. The Reuser of the Component Must be Confident that the Components Will Be Reliable and Will behave as Specified 15
16 3 Requirements For Design With Reuse - 3 C. The Components Bust Be Documented so that they can be understood and, where appropriate, modified 16
17 Search Is On! To Find Appropriate, Documented, Reliable Components! 17
18 Common Reuse Problems 18
19 5 Common Reuse Problems Increased Maintenance Costs 19
20 2. Lack of Tool Support 5 Common Reuse Problems
21 5 Common Reuse Problems Not-Invented-Here Syndrome 21
22 5 Common Reuse Problems Maintaining a Component Library 22
23 5 Common Reuse Problems Finding and Adapting Reusable Components 23
24 Program Generators & Reuse 24
25 Generator-Based Reuse - 1 Program Generators involve the reuse of standard patterns and algorithms These patterns/algorithms are embedded in the generator and parameterized by user commands. A program is then automatically generated! 25
26 Generator-Based Reuse - 2 Generator-Based reuse is possible when domain abstractions and their mapping to executable code can be identified A domain specific language is used to compose and control these abstractions 26
27 3 Types Of Program Generator 3 Types of Program Generators o Application Generators for business data processing o Parser and Lexical Analyzer Generators for language processing o Code Generators in CASE tools Generator-Based Reuse is very cost-effective but its applicability is limited to a relatively small number of application domains It is easier for end-users to develop programs using generators compared to other componentbased approaches to reuse 27
28 Reuse Through Program Generation Application description Program generator Generated program Application domain knowledge Database 28
29 About Components 29
30 About Components - 1 Components provide a service without regard to where the component is executing or its programming language A Component is an Independent Executable Entity that can be made up of one or more executable objects 30
31 About Components - 2 The component interface is published and all interactions are through the published interface Components can range in size from simple functions to entire application systems 31
32 Component Based Development 32
33 CBSE Component-Based Software Engineering (CBSE) is an approach to software development that relies on reuse CBSE has emerged from the failure of objectoriented development to support effective reuse. Single object classes are often too detailed and specific [templated data structure applications tend to be the exception!] 33
34 CBSE Components More Abstract In CBSE, Components are More Abstract than object classes and can be considered to be standalone service providers 34
35 CBSE Processes Component-Based Software Engineering Component-based development can be Integrated into a Standard Software Process by incorporating a Reuse activity in the design process. In Reuse-Driven Development, the System Requirements are Modified to Reflect the Components that are Available 35
36 CBSE Prototyping CBSE usually involves a Prototyping or an incremental development process with components being glued together using a scripting language 36
37 CBSE Problems 37
38 3 Most Common CBSE Problems - 1 Component Incompatibilities may mean that Cost and Schedule Savings are Less Than Expected 38
39 3 Most Common CBSE Problems - 2 Finding & Understanding Components 39
40 3 Most Common CBSE Problems - 3 Managing Evolution as requirements change in situations where it may be impossible to change the system components 40
41 Application Frameworks 41
42 About Application Frameworks Application Frameworks are a sub-system design made up of a collection of abstract and concrete classes and the interfaces between them Application Framework sub-systems are implemented by adding components to fill in parts of the design and by instantiating the abstract classes in the framework Frameworks are moderately large entities that can be reused 42
43 3 Framework Classes System Infrastructure Frameworks Support the development of system infrastructures such as communications, user interfaces and compilers Middleware Integration Frameworks Standards and classes that support component communication and information exchange such as MS SQL Server, MySQL, Oracle, FoxPro, etc. Enterprise Application Frameworks Support the development of specific types of application such as telecommunications or financial systems 43
44 Extending Frameworks Frameworks are Generic and are extended to create a more specific application or sub-system Extending the framework involves 1. Adding concrete classes that inherit operations from abstract classes in the framework 2. Adding methods that are called in response to events that are recognised by the framework Problem with frameworks is their complexity and the time it takes to use them effectively 44
45 COTS 45
46 COTS Product Reuse COTS - Commercial Off-The-Shelf systems COTS Systems are usually Complete Application Systems that offer an API (Application Programming Interface) 46
47 Integrating COTS Building Large Systems by Integrating COTS Systems is now a viable development strategy for some types of system such as database or E-commerce systems 47
48 Problems With COTS Systems 48
49 4 Problems With COTS System Integration - 1 Lack of Control Over Functionality and Performance COTS systems may be less effective than they appear 49
50 4 Problems With COTS System Integration - 1 Problems With COTS System Interface Interaction Different COTS systems may make different assumptions that means interface may be difficult 50
51 4 Problems With COTS System Integration - 3 No Control Over System Evolution COTS vendors, not system users, control evolution 51
52 4 Problems With COTS System Integration - 1 No Control Over Support from COTS vendors COTS vendors may not offer support over the lifetime of the product 52
53 Component Development For Reuse 53
54 Component Development For Reuse #1 Components for reuse may be specially constructed by generalizing existing components 4 Ways To Help Generalize Components & Make Components Reusable 1. Reflect Stable Domain Abstractions 2. Hide State Representation 3. Be as independent as possible 4. Publish exceptions through the component interface 54
55 Component Development For Reuse #2 There is a trade-off between reusability and usability. The more general the interface, the greater the reusability but it is then more complex and hence less usable 55
56 Reusable Components Development Costs The Development Cost of Reusable Components is higher than the cost of specific equivalents. This extra reusability enhancement cost should be an organization rather than a project cost. 56
57 Space & Execution Generic Components may be less space-efficient and may have longer execution times than their specific equivalents 57
58 Reusability Enhancement 58
59 Name Generalization Reusability Enhancement #1 4 Generalizations Names in a Component may be modified so that they are not a direct reflection of a specific application entity ( push/pop on stack) 59
60 Reusability Enhancement #2 4 Generalizations Operation Generalization Operations may be added to provide extra functionality and application specific operations may be removed 60
61 Reusability Enhancement #3 4 Generalizations Exception Generalization Application specific exceptions are removed and exception management added to increase the robustness of the component 61
62 Reusability Enhancement #3 Component Certification 4 Generalizations Component is certified as reusable 62
63 Application Families Also Called Product Lines 63
64 Application Families Product Line An Application Family or Product Line is a related set of applications that has a common, domain-specific architecture It is the common core of the application family that is reused each time a new application is required (maybe AVL Tree) Each specific application is then specialized in some way 64
65 3 Application Family Specializations 1. Platform Specialization Different versions of the application are developed for different platforms 2. Configuration Specialization Different versions of the application are created to handle different peripheral devices 3. Functional Specialization Different versions of the application are created for customers with different requirements 65
66 Inventory Management System Application Families Suppose You Are Developer! 66
67 A Resource Management System User access Program access Add Delete Query Browse Admin Report Resource desc. Screen spec. Report spec. Resource database You might start out with this ultra simplistic description of functionality! 67
68 Resource Database Inventory Management Systems Maintains details of the things that are being managed I/O Descriptions Describes the structures in the resource database and input and output formats that are used Query Level Provides functions implementing queries over the resources Access Interfaces A user interface and an application programming interface 68
69 Application Family Architectures Architectures must be structured in such a way to separate different sub-systems and to allow them to be modified The architecture should also separate entities and their descriptions and the higher levels in the system access entities through descriptions rather than directly 69
70 Library Management System Application Families Suppose You Are Developer! 70
71 A Library System Library user access Add Delete Query Browse Admin Report Issue Return Users Resource desc. Screen spec. Report spec. Library holdings database You might start out with this ultra simplistic description of functionality! 71
72 Library System The resources being managed are the books in the library Additional domain-specific functionality (issue, borrow, etc.) must be added for this application 72
73 Can You See The Potential Component Reuse? Resource Management System User access Program access Add Delete Query Browse Admin Report Resource desc. Screen spec. Report spec. Resource database Library user access Add Delete Query Browse Admin Report Issue Return Users A Library System Resource desc. Screen spec. Report spec. Library holdings database 73
74 Software Engineering CSCI 3342 Dr. Thomas E. Hicks Computer Science Department Trinity University Textbook: Software Engineering By Roger Pressman Textbook: Software Engineering By Ian Sommerville Special Thanks To WCB/McGraw-Hill & Addison Wesley For Providing Graphics Of Some Of Text Book Figures For Use In This Presentation. 74
SOFTWARE ENGINEERING. To discuss several different ways to implement software reuse. To describe the development of software product lines.
SOFTWARE ENGINEERING DESIGN WITH COMPONENTS Design with reuse designs and develops a system from reusable software. Reusing software allows achieving better products at low cost and time. LEARNING OBJECTIVES
More informationChapter 18. Software Reuse
Chapter 18 Software Reuse Ian Sommerville Lutz Prechelt Ian Sommerville 2004, Software Engineering, 7th edition, prechelt@inf.fu-berlin.de 1 Objectives To explain the benefits of software reuse and some
More informationSeminar report Software reuse
A Seminar report On Software reuse Submitted in partial fulfillment of the requirement for the award of degree of Bachelor of Technology in Computer Science SUBMITTED TO: www.studymafia.com SUBMITTED BY:
More informationSoftware Engineering
Software Engineering chap 4. Software Reuse 1 SuJin Choi, PhD. Sogang University Email: sujinchoi@sogang.ac.kr Slides modified, based on original slides by Ian Sommerville (Software Engineering 10 th Edition)
More informationSoftware Reuse and Component-Based Software Engineering
Software Reuse and Component-Based Software Engineering Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Contents Software Reuse Components CBSE (Component-Based Software Engineering) Domain Engineering
More informationMinsoo Ryu. College of Information and Communications Hanyang University.
Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based
More informationStudy of Component Based Software Engineering
Study of Based Software Ishita Verma House No.4, Village Dayalpur Karawal Nagar Road Delhi-110094, India ish.v.16@gmail.com Abstract based engineering is an approach of development that emphasizes the
More informationGame Production: reuse
Game Production: reuse Fabiano Dalpiaz f.dalpiaz@uu.nl 1 Outline Lecture contents 1. Introduction to software reuse 2. Patterns 3. Application frameworks 4. Software product lines 5. Commercial-off-the-shelf
More informationChapter 17 - Component-based software engineering. Chapter 17 So-ware reuse
Chapter 17 - Component-based software engineering 1 Topics covered ² Components and component models ² CBSE processes ² Component composition 2 Component-based development ² Component-based software engineering
More informationPart 4. Development. -Software Reuse - Component-Based Software Engineering. JUNBEOM YOO Ver. 1.
Software Engineering Part 4. Development - Rapid Software Development -Software Reuse - Component-Based Software Engineering Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006.
More informationComponent-based software engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 19 Slide 1
Component-based software engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 19 Slide 1 Objectives To explain that CBSE is concerned with developing standardised components and
More informationSecond. Incremental development model
3 rd Stage Lecture time: 8:30 AM-2:30 PM Instructor: Ali Kadhum AL-Quraby Lecture No. : 4 Subject: Software Engineering Class room no.: Department of computer science Second. Incremental development model
More informationSoftware Reuse Techniques
DCC / ICEx / UFMG Software Reuse Techniques Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Overview of Reuse Techniques Frameworks Design Patterns Configurable Applications Architecture Patterns
More informationIntroduction to Software Reuse
DCC / ICEx / UFMG Introduction to Software Reuse Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Software Reuse The use of existing software or software knowledge to build new software In the last
More informationΗΜΥ 317 Τεχνολογία Υπολογισμού
ΗΜΥ 317 Τεχνολογία Υπολογισμού Εαρινό Εξάμηνο 2008 ΙΑΛΕΞΕΙΣ 16-17: Component-Based Software Engineering ΧΑΡΗΣ ΘΕΟΧΑΡΙ ΗΣ Λέκτορας ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή από Ian Sommerville, Software
More informationReusable General Component in Unknown Domain
66 Reusable General Component in Unknown Domain Dr. Buthainah F. AL-Dulaimi Amer Abdulmejeed Abdurehman Computer Department/College of Education for Women/University of Baghdad Abstract: Component reuse
More informationEPL603 Topics in Software Engineering
Lecture 4 - Software Reuse EPL603 Topics in Software Engineering Efi Papatheocharous Visiting Lecturer efi.papatheocharous@cs.ucy.ac.cy Office FST-B107, Tel. ext. 2740 Topics covered Software reuse The
More informationSoftware Prototyping Animating and demonstrating system requirements. Uses of System Prototypes. Prototyping Benefits
Software Prototyping Animating and demonstrating requirements Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Uses of System Prototypes
More informationSoftware Engineering Chap.7 - Design and Implementation
Software Engineering Chap.7 - Design and Implementation Simão Melo de Sousa RELEASE (UBI), LIACC (Porto), CCTC (Minho) Computer Science Department University of Beira Interior, Portugal Eng.Info./TSI,
More informationPATTERNS AND SOFTWARE DESIGN
This article first appeared in Dr. Dobb s Sourcebook, March/April, 1995. Copyright 1995, Dr. Dobb's Journal. PATTERNS AND SOFTWARE DESIGN Patterns for Reusable Object-Oriented Software Richard Helm and
More informationPart 5. Verification and Validation
Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this
More informationAn Expert System for Design Patterns Recognition
IJCSNS International Journal of Computer Science and Network Security, VOL.17 No.1, January 2017 93 An Expert System for Design Patterns Recognition Omar AlSheikSalem 1 and Hazem Qattous 2 1 Department
More informationVerification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1
Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should
More informationAn Approach to Software Component Specification
Page 1 of 5 An Approach to Software Component Specification Jun Han Peninsula School of Computing and Information Technology Monash University, Melbourne, Australia Abstract. Current models for software
More informationSOFTWARE ARCHITECTURE & DESIGN INTRODUCTION
SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,
More informationAgent-Enabling Transformation of E-Commerce Portals with Web Services
Agent-Enabling Transformation of E-Commerce Portals with Web Services Dr. David B. Ulmer CTO Sotheby s New York, NY 10021, USA Dr. Lixin Tao Professor Pace University Pleasantville, NY 10570, USA Abstract:
More informationDistributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1
Distributed Systems Architectures Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Objectives To explain the advantages and disadvantages of different distributed systems architectures
More informationComponent-Based Software Engineering TIP
Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.
More informationLecture 15 Software Testing
Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered
More informationSoftware Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1
Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be
More informationHow to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect
How to Harvest Reusable Components in Existing Software Nikolai Mansurov Chief Scientist & Architect Overview Introduction Reuse, Architecture and MDA Option Analysis for Reengineering (OAR) Architecture
More informationArchitectural Design. Architectural Design. Software Architecture. Architectural Models
Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems
More informationCHAPTER 5 GENERAL OOP CONCEPTS
CHAPTER 5 GENERAL OOP CONCEPTS EVOLUTION OF SOFTWARE A PROGRAMMING LANGUAGE SHOULD SERVE 2 RELATED PURPOSES : 1. It should provide a vehicle for programmer to specify actions to be executed. 2. It should
More informationReuse in Object Oriented Programming
DCC / ICEx / UFMG Reuse in Object Oriented Programming Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Overview of Reuse Techniques Frameworks Design Patterns Configurable Applications Architecture
More informationVO Software Engineering
Administrative Issues Univ.Prof. Dr. Peter Auer Chair for Information Technology Email: auer@unileoben.ac.at Lecture Thursday 10:15 11:45 Project Lab Montag 16:00 19:00 Literature Helmut Balzert, Lehrbuch
More informationSOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?
Q2a. What are the key challenges being faced by software engineering? Ans 2a. The key challenges facing software engineering are: 1. Coping with legacy systems, coping with increasing diversity and coping
More informationDomain Engineering And Variability In The Reuse-Driven Software Engineering Business.
OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective
More informationIntroduction to Software Engineering
Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,
More informationModern Software Engineering Methodologies Meet Data Warehouse Design: 4WD
Modern Software Engineering Methodologies Meet Data Warehouse Design: 4WD Matteo Golfarelli Stefano Rizzi Elisa Turricchia University of Bologna - Italy 13th International Conference on Data Warehousing
More informationAccelerate time-tomarket. Framework-driven development. If converting ideas into
Accelerate time-tomarket through Framework-driven by Jothi Rengarajan If converting ideas into software solutions was easy, there would be far more successful software products than there are in the world
More informationSoftware testing. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 23 Slide 1
Software testing Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 23 Slide 1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles
More informationSYLLABUS CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Reuse Driven Software Engineering is a Business
Contents i UNIT - I UNIT - II UNIT - III CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Software Reuse Success Factors. CHAPTER - 2 [REUSE-DRIVEN SOFTWARE ENGINEERING IS A BUSINESS] Reuse Driven Software
More informationProgrammazione. Prof. Marco Bertini
Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Introduction Why OO Development? Improved structure of software easier to: Understand Maintain Enhance Reusable
More informationTopics in Object-Oriented Design Patterns
Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;
More informationCMSC 435: Software Engineering Section 0201
CMSC 435: Software Engineering Section 0201 Atif M. Memon (atif@cs.umd.edu) 4115 A.V.Williams building Phone: 301-405-3071 Office hours Tu.Th. (11:00am-1:00pm) Don t wait, don t hesitate, do communicate!!
More informationITM DEVELOPMENT (ITMD)
ITM Development (ITMD) 1 ITM DEVELOPMENT (ITMD) ITMD 361 Fundamentals of Web Development This course will cover the creation of Web pages and sites using HTML, CSS, Javascript, jquery, and graphical applications
More information3 Product Management Anti-Patterns by Thomas Schranz
3 Product Management Anti-Patterns by Thomas Schranz News Read above article, it s good and short! October 30, 2014 2 / 3 News Read above article, it s good and short! Grading: Added explanation about
More informationComponent-Based Software Engineering TIP
Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.
More informationPart II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - CBSE Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development
More informationA Framework for Reliability Assessment of Software Components
A Framework for Reliability Assessment of Software Components Rakesh Shukla, Paul Strooper, and David Carrington School of Information Technology and Electrical Engineering, The University of Queensland,
More informationReview Software Engineering October, 7, Adrian Iftene
Review Software Engineering October, 7, 2013 Adrian Iftene adiftene@info.uaic.ro Software engineering Basics Definition Development models Development activities Requirement analysis Modeling (UML Diagrams)
More informationClasses and Objects. Object Orientated Analysis and Design. Benjamin Kenwright
Classes and Objects Object Orientated Analysis and Design Benjamin Kenwright Outline Review Previous Weeks Object Model, Complexity,.. What do we mean by Classes and Objects? Summary/Discussion Review
More informationSpecifying and Prototyping
Contents Specifying and Prototyping M. EVREN KIYMAÇ 2008639030 What is Specifying? Gathering Specifications Specifying Approach & Waterfall Model What is Prototyping? Uses of Prototypes Prototyping Process
More informationCS 307: Software Engineering. Lecture 10: Software Design and Architecture
CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office
More informationTowards The Adoption of Modern Software Development Approach: Component Based Software Engineering
Indian Journal of Science and Technology, Vol 9(32), DOI: 10.17485/ijst/2016/v9i32/100187, August 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Towards The Adoption of Modern Software Development
More informationLecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802
UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1
More informationOO Frameworks. Introduction. Using Frameworks
OO Frameworks Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University Introduction Frameworks support reuse of detailed designs and architectures An integrated set of components
More informationEPL603 Topics in Software Engineering
Lecture 5 Architectural Design & Patterns EPL603 Topics in Software Engineering Efi Papatheocharous Visiting Lecturer efi.papatheocharous@cs.ucy.ac.cy Office FST-B107, Tel. ext. 2740 Topics covered Software
More informationAn Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com
An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com Department of Software Systems Engineering University of Isfahan Fall 2013 Overview Model & Modeling UML & UML Profile
More informationQM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS
QM 433 - Chapter 1 Database Fundamentals Version 10 th Ed Prepared by Dr Kamel Rouibah / Dept QM & IS www.cba.edu.kw/krouibah Dr K. Rouibah / dept QM & IS Chapter 1 (433) Database fundamentals 1 Objectives
More informationSemantics-Based Integration of Embedded Systems Models
Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current
More informationCSSE 490 Model-Based Software Engineering: Software Factories
CSSE 490 Model-Based Software Engineering: Software Factories Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: MBE Discipline Relate Model-Based
More informationSoftware Engineering Principles
1 / 19 Software Engineering Principles Miaoqing Huang University of Arkansas Spring 2010 2 / 19 Outline 1 2 3 Compiler Construction 3 / 19 Outline 1 2 3 Compiler Construction Principles, Methodologies,
More informationTowards Reusable Heterogeneous Data-Centric Disentangled Parts
Towards Reusable Heterogeneous Data-Centric Disentangled Parts Michael Reinsch and Takuo Watanabe Department of Computer Science, Graduate School of Information Science and Technology, Tokyo Institute
More informationPatterns. Giovanni Sakti. in Software Engineering. Starqle
Patterns in Software Engineering Giovanni Sakti Starqle What is Patterns? Patterns Patterns describes a problem, which occurs over and over again in our environment and then desribes the core of the solution
More informationSOFTWARE ENGINEERING
SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering
More informationIncremental development A.Y. 2018/2019
Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with
More informationSOFTWARE LIFE-CYCLE MODELS 2.1
SOFTWARE LIFE-CYCLE MODELS 2.1 Outline Software development in theory and practice Software life-cycle models Comparison of life-cycle models 2.2 Software Development in Theory Ideally, software is developed
More informationLecture 1. Chapter 6 Architectural design
Chapter 6 Architectural Design Lecture 1 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process
More informationChapter 6 Architectural Design. Chapter 6 Architectural design
Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying
More informationThe Benefits of Component Object- Based SCADA and Supervisory System Application Development
The Benefits of Component Object- Based SCADA and Supervisory System Application Development By Steven D. Garbrecht, Marketing Program Manager for Infrastructure and Platforms Table of Contents 1. Overview...
More informationReference Architecture for Medicaid. Dave Hill September 18, 2017
Reference Architecture for Medicaid Dave Hill September 18, 2017 Problem $5B spent on Medicaid IT annually State Medicaid Enterprise Systems (MES) are antiquated, monolithic mainframe systems, developed
More informationComponent-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only
Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit
More informationWebSphere 4.0 General Introduction
IBM WebSphere Application Server V4.0 WebSphere 4.0 General Introduction Page 8 of 401 Page 1 of 11 Agenda Market Themes J2EE and Open Standards Evolution of WebSphere Application Server WebSphere 4.0
More informationOracle Enterprise Manager 12c Sybase ASE Database Plug-in
Oracle Enterprise Manager 12c Sybase ASE Database Plug-in May 2015 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only,
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 20: GoF Design Patterns Creational 1 Software Patterns Software Patterns support reuse of software architecture and design. Patterns capture the static
More informationOracle Fusion Middleware 11g: Build Applications with ADF I
Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Oracle Fusion Middleware 11g: Build Applications with ADF I Duration: 5 Days What you will learn Java EE is a standard, robust,
More informationThe Emerging Data Lake IT Strategy
The Emerging Data Lake IT Strategy An Evolving Approach for Dealing with Big Data & Changing Environments bit.ly/datalake SPEAKERS: Thomas Kelly, Practice Director Cognizant Technology Solutions Sean Martin,
More informationJim Mains Director of Business Strategy and Media Services Media Solutions Group, EMC Corporation
Media Asset Management Databases The Heart of the System and Critical Decisions and Steps for Success Jim Mains Director of Business Strategy and Media Services Media Solutions Group, EMC Corporation Agenda
More informationNext-Generation Architecture for Virtual Prototyping
Next-Generation Architecture for Virtual Prototyping Dr. Bipin Chadha John Welsh Principal Member Manager Lockheed Martin ATL Lockheed Martin ATL (609) 338-3865 (609) 338-3865 bchadha@atl.lmco.com jwelsh@atl.lmco.com
More informationIjX: ImageJ refactored to interfaces for extensibility or Evolving ImageJ to an Extensible Imaging Framework
IjX: ImageJ refactored to interfaces for extensibility or Evolving ImageJ to an Extensible Imaging Framework A Proposal by Grant B. Harris, December 13, 2008. ImageJ has exploded beyond an image processing
More informationSoftware Testing. Massimo Felici IF
Software Testing Massimo Felici IF-3.46 0131 650 5899 mfelici@staffmail.ed.ac.uk What is Software Testing? Software Testing is the design and implementation of a special kind of software system: one that
More informationOracle Fusion Middleware 11g: Build Applications with ADF I
Oracle University Contact Us: +966 1 1 2739 894 Oracle Fusion Middleware 11g: Build Applications with ADF I Duration: 5 Days What you will learn This course is aimed at developers who want to build Java
More informationOracle Enterprise Manager 12c IBM DB2 Database Plug-in
Oracle Enterprise Manager 12c IBM DB2 Database Plug-in May 2015 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and
More informationDesign Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.)
Design Pattern CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) A. Design Pattern Design patterns represent the best practices used by experienced
More informationThe requirements engineering process
3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process
More informationCaché and Data Management in the Financial Services Industry
Caché and Data Management in the Financial Services Industry Executive Overview One way financial services firms can improve their operational efficiency is to revamp their data management infrastructure.
More informationSoftware reuse and generative programming. Buy vs. build (cont) Buy vs. build. The old vision of CBSE
Promising attacks on essence (from No Silver Bullet) Software reuse and generative programming Buy vs. build Rapid prototyping to aid in the iterative elicitation of requirements New metaphor for development:
More informationPerformance Evaluation of Java And C++ Distributed Applications In A CORBA Environment
Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment Sanjay P. Ahuja Roger Eggen Cheryl Daucher Department of Computer and Information Sciences University of North Florida
More informationUnit 1 Introduction to Software Engineering
Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering
More informationSYSPRO s Fluid Interface Design
SYSPRO s Fluid Interface Design Introduction The world of computer-user interaction has come a long way since the beginning of the Graphical User Interface, but still most application interfaces are not
More informationDistributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.
Distributed systems Distributed Systems Architectures Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined
More informationIssues in Component-Based Software Engineering
Issues in Component-Based Software Engineering Kyo C. Kang Department of Computer Science and Engineering Pohang University of Science and Technology (POSTECH) San 31 Hyoja-Dong, Pohang, 790-784, Korea
More informationIntroduction to Object Oriented Analysis and Design
A class note on Introduction to Object Oriented Analysis and Design Definition In general, analysis emphasizes an investigation of the problem and requirements of the domain, rather than a solution. Whereas,
More informationSOFTWARE ENGINEERING
SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering
More informationSeveral major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their
Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their products. These companies are promoting a new, extended version
More informationDescriptions for CIS Classes (Fall 2017)
Descriptions for CIS Classes (Fall 2017) Major Core Courses 1. CIS 1015. INTRODUCTION TO COMPUTER INFORMATION SYSTEMS. (3-3-0). This course provides students an introductory overview to basic computer
More informationFundamentals of STEP Implementation
Fundamentals of STEP Implementation David Loffredo loffredo@steptools.com STEP Tools, Inc., Rensselaer Technology Park, Troy, New York 12180 A) Introduction The STEP standard documents contain such a large
More informationComponents in Real-Time Systems
Contents Components in Real-Time Systems Authors: Damir Isovic and Christer Nostrom Presented by: Chris Pope Real-Time Embedded Systems Motivation for CBD in Real time Systems Challenges of using CBSE
More informationBasics : the Requirements Engineering Process
SEG3101 (Fall 2010) Basics : the Requirements Engineering Process Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides prepared by Gunter Mussbacher with material from: Sommerville & Kotonya
More information