Software maintenance. Software Maintenance. Fundamental problems. Maintenance activities. Lehman/Belady model of evolution. Topics
|
|
|
- Clara Walton
- 9 years ago
- Views:
Transcription
1 Software maintenance Software Maintenance Key problems/issues Historical models and data Program Defined in IEEE Standard 1219 as: The modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment. Related term: Software evolution Maintenance activities Fundamental problems Four distinct categories: Adaptive: accommodates changes in the software environment Perfective: incorporates new user requirements Corrective: fixes errors Preventive: aims to prevent future problems Studies of prevalence: Around 75% of maintenance is adaptive or perfective; 21% corrective [Lientz and Swanson] Incorporation of new requirements is a core problem for software maintenance If changes can be anticipated at design time, they can be built in by some form of parameterization Fundamental problem: Many modifications involve changes the original designers could not even conceive of Maintenance important to understand because: It consumes a large portion of overall lifecycle costs Inability to change software quickly and reliably means business opportunities are lost Concerns have led to new and competing lifecycle models Topics Lehman/Belady model of evolution Empirical model of dynamic evolution of software products [Lehman and Belady] Three laws of software evolution dynamics Maintenance of legacy systems Program Classic empirical study of the evolution of a real software system over many releases System: OS/360 Releases: over 20 Metrics: # of modules added (per release) # of modules handled (per release) others 1
2 Laws of evolution dynamics # of modules by release (OS/360) 1. Law of Continuing Change: A system that is used undergoes continuing change until it is judged more cost effective to freeze and recreate it 2. Law of Increasing Entropy: The entropy of a system (its unstructuredness) increases with time, unless specific work is executed to maintain or reduce it 3. Law of statistically smooth growth. Growth trend measures of global system attributes may appear to be stochastic locally in time and space, but, statistically, they are cyclically self regulating, with well-defined long-range trends Number of modules Release Other consequences of model Analyses indicate a cyclical pattern of growth Modules handled per release fluctuates by release within a 400-module window This pattern is invariant under changes to languages, programming staff, machines, etc Possible to budget in time to restructure code (i.e., preventive maintenance) to reduce the rate of growth of complexity; however rate will always be positive Issues with legacy systems Legacy systems Defn: System of value that is being maintained by staff that were not part of its original development Typically: Large (MLOC), complex, old (> 10 years) Critical corporate assets E.g., telecom switching systems, banking systems, defense systems Highly reliable Legacy systems (continued) Maintenance consumes up to 90% of company s IT budget Running on legacy platforms, and/or written in legacy languages Poorly documented: documentation out of date too much documentation original source may not even be available 2
3 Coping with legacy systems No obvious solution to problem: Too large to rewrite from scratch Can t shift staff resources w/o risking critical losses Approaches to date: Legacy-platform simulators on new platforms Port compilers for legacy languages to new platforms Reverse engineering Program Program Greatest part of maintenance process devoted to understanding the system being maintained 47% - 62% I.e., reading documentation, scanning code, trying to understand the changes to be made Idea: To improve software development, one must improve maintenance process; to improve maintenance, one must improve program Gaps complicating prog comp Problem in application domain vs solution in a programming language Concrete world of programs/machines vs abstract world of high-level design descriptions Coherent, highly structured description of original system vs actual system, whose structure may have disintegrated over time Hierarchical nature of programs vs. associational nature of human cognition Bottom-up analysis of the source code vs. top-down synthesis of an application description Application domain vs program Program = solution to problem in some application domain However, program may contain no hints about the particular problem it solves Hints found in comments, variable names These are informal and nearly always out of date Consequently, most automatic tools work with only program text Concrete programs; abstract descriptions Programs incredibly detailed: Not every detail is relevant to a particular need, but how can you tell which ones are relevant? Abstraction is the process of sifting away the unimportant details; however abstraction is not linear! Many lines of program code result from the interleaving of multiple purposes or program plans 3
4 Hierarchical programs; associative cognition Programs are highly structured syntactically Human cognition is associative: Raw data are perceived Patterns in data are detected Abstractions are constructed that relate them Understanding controlled by setting up and verifying expectations that follow from these associative suggestions and abstractions Program is understood to extent that reader can build up correct chunks from the details in the code Program analysis; model synthesis Process of analyzing a program proceeds bottom-up Process of synthesizing a model of program behavior proceeds top-down from an expectation of the program s behavior Problem: Bottom-up analysis and top-down synthesis must be synchronized Humans in the loop Experiments in software psychology (Schneiderman) Program currently a highly manual task Software psychology attempts to describe human limitations in interacting with computers Program studied via experiments involving memorization/reconstruction of programs Utility of comments not substantiated Shown to impede understanding of small programs Interrupt flow of code; value does not compensate Incorrect or out of date Larger programs not studied Same is true for indentation Mnemonic variable names contribute to : IF carry semantic (rather than syntactic) meaning Reduces reader s short-term memory load Mnemonics likely have different meanings to different readers: Would be useful if reader could easily and systematically rename identifiers to reflect understanding relative to a given task Models of program Brooks model of Two major models: Top-down approach, due to Ruven Brooks Bottom-up approach, due to Elliot Soloway Knowledge of these models can help one manage one s own tasks Can also serve as the basis for support tools Key ideas: Programming process is construction of mappings from a task domain through one or more intermediates into the programming domain Comprehension is process of reconstructing these mappings Reconstruction process is expectation-driven Hypotheses formed to connect domains Reconstruction driven by creation, confirmation, and refinement of these hypotheses 4
5 Brooks model (continued) Beacons Understander begins with initial hypothesis: global, abstract description of what understander thinks the program does even before looking at a single line of code often based on the name or description of program Initial hypothesis then refined into a cascade of sub-hypotheses, which are explored depth first Eventually sub-hypothesis is sufficiently refined that it can be confirmed by looking at code Defn: Program details that confirm (or lend credence to) an hypothesis Example: sort hypothesis confirmed by finding a pair of loops whose body contains a comparison and exchange between elements Beacons are first link between hypotheses and program text Existence verified experimentally Experts more efficient at locating beacons than are novices Abilities of understander Soloway model of Knowledge about the various domains affects understanding at all levels Task-domain knowledge affects quality of primary and subsidiary hypotheses Programming-domain knowledge affects lowerlevel bindings and beacon location process Key idea: To understand a program is to uncover the intention behind the code Goals denote intentions Plans denote techniques for realizing intentions Plans work as rewrite rules, which convert goals into subgoals and finally into code Comprehension involves recognizing plans in code, then abstracting them to subgoals and eventually higher-level goals Soloway model continued Supporting program Existence of plans in programs confirmed experimentally Delocalized plans: Plans that manifest as non-contiguous source code, which may even cross module boundaries Key source of complexity in program Interleaving problem Plan calculus: A model of plan composition Automated cliché recognition Build a knowledge base of common programming patterns (i.e., cliches) e.g., pattern of loops and conditionals to perform binary search Uncover cliches in existing code to support bottom-up Interleaving detection Identify instances of optimizations that capitalize on some form of resource sharing Automatically undo the optimizations to simplify 5
6 Designing for Reify and maintain representations of intentions rather than just results of refining intentions (code) Knuth s literate programming Intentional programming Automated refinement of programs from specifications Specifications often separate concerns better than code So have tools synthesize program code from specs Aspect-oriented programming Domain analysis Domain: problem area, such as weather modeling, accounting, report writing, etc. Typically many application programs exist to solve problems in a single domain Domain analysis: Engineering approach to codifying domain knowledge Looks at wealth of programs in same domain Teases out and then explicitly documents useful domain abstractions Yields domain books 6
KSE Comp. support for the writing process 2 1
KSE Comp. support for the writing process 2 1 Flower & Hayes cognitive model of writing A reaction against stage models of the writing process E.g.: Prewriting - Writing - Rewriting They model the growth
Quotes from Object-Oriented Software Construction
Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental
Chapter 9 Software Evolution
Chapter 9 Software Evolution Summary 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes
Software Engineering. So(ware Evolu1on
Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers
Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
How to realize software evolution of existing BOSS via ZTE SEEM
How to realize software evolution of existing BOSS via ZTE SEEM Zhan Zhang Abstract Due to long-term construction and accumulation for different purposes, telecom carriers normally have very complex IT
Test Automation Architectures: Planning for Test Automation
Test Automation Architectures: Planning for Test Automation Douglas Hoffman Software Quality Methods, LLC. 24646 Heather Heights Place Saratoga, California 95070-9710 Phone 408-741-4830 Fax 408-867-4550
Software Engineering 9.1. Quality Control
Software Engineering 9.1. 9. Introduction When, Why and What? Product & Process Attributes Internal & External Attributes Typical Quality Attributes Overview Definitions Quality Assurance Assumption Quality
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
Functional Decomposition Top-Down Development
Functional Decomposition Top-Down Development The top-down approach builds a system by stepwise refinement, starting with a definition of its abstract function. You start the process by expressing a topmost
Software Life Cycle Processes
Software Life Cycle Processes Objective: Establish a work plan to coordinate effectively a set of tasks. Improves software quality. Allows us to manage projects more easily. Status of projects is more
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
Answers to Review Questions
Tutorial 2 The Database Design Life Cycle Reference: MONASH UNIVERSITY AUSTRALIA Faculty of Information Technology FIT1004 Database Rob, P. & Coronel, C. Database Systems: Design, Implementation & Management,
Learner and Information Characteristics in the Design of Powerful Learning Environments
APPLIED COGNITIVE PSYCHOLOGY Appl. Cognit. Psychol. 20: 281 285 (2006) Published online in Wiley InterScience (www.interscience.wiley.com) DOI: 10.1002/acp.1244 Learner and Information Characteristics
Process Models and Metrics
Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers
Planning a Successful Visual Basic 6.0 to.net Migration: 8 Proven Tips
Planning a Successful Visual Basic 6.0 to.net Migration: 8 Proven Tips Jose A. Aguilar January 2009 Introduction Companies currently using Visual Basic 6.0 for application development are faced with the
Business Intelligence Not a simple software development project
Business Intelligence Not a simple software development project By V. Ramanathan Executive Director, Saksoft Date: Mar 2006 India Phone: +91 44 2461 4501 Email: [email protected] USA Phone: +1 212 286 1083
Fourth generation techniques (4GT)
Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some
A MODEL OF HUMAN COGNITIVE BEHAVIOR IN WRITING CODE FOR COMPUTER PROGRAMS
A MODEL OF HUMAN COGNITIVE BEHAVIOR IN WRITING CODE FOR COMPUTER PROGRAMS Ruven Brooke Department of Information and Computer Science University of California - Irvine Irvine, CA 92664 U.S.A. Section 12:
Basic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
Integrating Quality Assurance into the GIS Project Life Cycle
Integrating Quality Assurance into the GIS Project Life Cycle Abstract GIS databases are an ever-evolving entity. From their humble beginnings as paper maps, through the digital conversion process, to
Fundamentals of Measurements
Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role
Karunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
Software Engineering. What is a system?
What is a system? Software Engineering Software Processes A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical,
Program Understanding in Software Engineering
Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert
Developing SOA solutions using IBM SOA Foundation
Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this
Human Dimension in Cyber Operations Research and Development Priorities
Human Dimension in Cyber Operations Research and Development Priorities Chris Forsythe a, Austin Silva a, Susan Stevens-Adams a, Jeffrey Bradshaw b a Sandia National Laboratories, Albuquerque, NM, USA,
Software Maintenance. Software Maintenance. (Chapter 14) Relative distribution of software/ hardware costs. Point to ponder #1
Software Maintenance Software Maintenance (Chapter 14) Mark van den Brand Tom Verhoeff Main issues:! why maintenance is such an issue! reverse engineering and its limitations! how to organize maintenance
Software Testing. Quality & Testing. Software Testing
Software Testing Software Testing Error: mistake made by the programmer/developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures
9 Research Questions Resolved
217 9 Research Questions Resolved "All truths are easy to understand once they are discovered; the point is to discover them." Galileo Galilei. 9.1 Main Contributions In section 1.6 the thesis introduced
Writing in the Computer Science Major
Writing in the Computer Science Major Table of Contents Introduction... 2 Statement of Purpose... 2 Revision History... 2 Writing Tasks in Computer Science... 3 Documentation... 3 Planning to Program:
What does the number m in y = mx + b measure? To find out, suppose (x 1, y 1 ) and (x 2, y 2 ) are two points on the graph of y = mx + b.
PRIMARY CONTENT MODULE Algebra - Linear Equations & Inequalities T-37/H-37 What does the number m in y = mx + b measure? To find out, suppose (x 1, y 1 ) and (x 2, y 2 ) are two points on the graph of
Process-Driven SOA Development
Architect: SOA and BPM DOWNLOAD Oracle SOA Suite TAGS SOA, BPM, BPEL, All Architect Articles Process-Driven SOA Development by Matjaz B. Juric Developing end-to-end business process support following the
An Open Framework for Reverse Engineering Graph Data Visualization. Alexandru C. Telea Eindhoven University of Technology The Netherlands.
An Open Framework for Reverse Engineering Graph Data Visualization Alexandru C. Telea Eindhoven University of Technology The Netherlands Overview Reverse engineering (RE) overview Limitations of current
Integrating Cognitive Models Based on Different Computational Methods
Integrating Cognitive Models Based on Different Computational Methods Nicholas L. Cassimatis ([email protected]) Rensselaer Polytechnic Institute Department of Cognitive Science 110 8 th Street Troy, NY 12180
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
CSC408H Lecture Notes
CSC408H Lecture Notes These lecture notes are provided for the personal use of students taking Software Engineering course in the Summer term 2005 at the University of Toronto. Copying for purposes other
Quality Assurance - Karthik
Prevention is better than cure Quality Assurance - Karthik This maxim perfectly explains the difference between quality assurance and quality control. Quality Assurance is a set of processes that needs
Simulating the Structural Evolution of Software
Simulating the Structural Evolution of Software Benjamin Stopford 1, Steve Counsell 2 1 School of Computer Science and Information Systems, Birkbeck, University of London 2 School of Information Systems,
Computer Network. Interconnected collection of autonomous computers that are able to exchange information
Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.
DESCRIPTIVE STATISTICS & DATA PRESENTATION*
Level 1 Level 2 Level 3 Level 4 0 0 0 0 evel 1 evel 2 evel 3 Level 4 DESCRIPTIVE STATISTICS & DATA PRESENTATION* Created for Psychology 41, Research Methods by Barbara Sommer, PhD Psychology Department
Vector storage and access; algorithms in GIS. This is lecture 6
Vector storage and access; algorithms in GIS This is lecture 6 Vector data storage and access Vectors are built from points, line and areas. (x,y) Surface: (x,y,z) Vector data access Access to vector
Software Quality Factors OOA, OOD, and OOP Object-oriented techniques enhance key external and internal software quality factors, e.g., 1. External (v
Object-Oriented Design and Programming Deja Vu? In the past: Structured = Good Overview of Object-Oriented Design Principles and Techniques Today: Object-Oriented = Good e.g., Douglas C. Schmidt www.cs.wustl.edu/schmidt/
Semantic Analysis: Types and Type Checking
Semantic Analysis Semantic Analysis: Types and Type Checking CS 471 October 10, 2007 Source code Lexical Analysis tokens Syntactic Analysis AST Semantic Analysis AST Intermediate Code Gen lexical errors
Software Design Principles and Guidelines
Design Principles and Guidelines Overview CS 342: Object-Oriented Software Development Lab Software Design Principles and Guidelines David L. Levine Christopher D. Gill Department of Computer Science Washington
Extend the value of your core business systems.
Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems
Data Analysis 1. SET08104 Database Systems. Copyright @ Napier University
Data Analysis 1 SET08104 Database Systems Copyright @ Napier University Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship?
Program Visualization for Programming Education Case of Jeliot 3
Program Visualization for Programming Education Case of Jeliot 3 Roman Bednarik, Andrés Moreno, Niko Myller Department of Computer Science University of Joensuu [email protected] Abstract:
S. Muthusundari. Research Scholar, Dept of CSE, Sathyabama University Chennai, India e-mail: [email protected]. Dr. R. M.
A Sorting based Algorithm for the Construction of Balanced Search Tree Automatically for smaller elements and with minimum of one Rotation for Greater Elements from BST S. Muthusundari Research Scholar,
8th IEEE/IFIP Network Operations and Management Symposium. A Case Driven Methodology for Applying the MNM Service Model
8th IEEE/IFIP Network Operations and Management Symposium 15-19 April, Florence, Italy A Case Driven Methodology for Applying the MNM Service Model M. Garschhammer, R. Hauck, H.-G. Hegering, B. Kempter,
E10: Controlled Experiments
E10: Controlled Experiments Quantitative, empirical method Used to identify the cause of a situation or set of events X is responsible for Y Directly manipulate and control variables Correlation does not
Data, Measurements, Features
Data, Measurements, Features Middle East Technical University Dep. of Computer Engineering 2009 compiled by V. Atalay What do you think of when someone says Data? We might abstract the idea that data are
Chapter 10 Practical Database Design Methodology and Use of UML Diagrams
Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Outline The Role of Information Systems in
Personal Software Process (PSP)
Personal Software Process (PSP) Application of CMM principles to individuals Developed by Watts Humphrey of the Software Engineering Institute (SEI) in the early 1990s Extensive supporting materials: books,
Software Metrics. Lord Kelvin, a physicist. George Miller, a psychologist
Software Metrics 1. Lord Kelvin, a physicist 2. George Miller, a psychologist Software Metrics Product vs. process Most metrics are indirect: No way to measure property directly or Final product does not
COGNITIVE PSYCHOLOGY
COGNITIVE PSYCHOLOGY ROBERT J. STERNBERG Yale University HARCOURT BRACE COLLEGE PUBLISHERS Fort Worth Philadelphia San Diego New York Orlando Austin San Antonio Toronto Montreal London Sydney Tokyo Contents
APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION
1 APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION Validation: Are we building the right product? Does program meet expectations of user? Verification: Are we building the product right?
Teaching Methodology for 3D Animation
Abstract The field of 3d animation has addressed design processes and work practices in the design disciplines for in recent years. There are good reasons for considering the development of systematic
Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice
Life-Cycle Model Software Life-Cycle Models Xiaojun Qi It specifies the various phases/workflows of the software process, such as the requirements, analysis (specification), design, implementation, and
Object-Oriented and Classical Software Engineering
Slide 2.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach [email protected] CHAPTER 2 Slide 2.2 SOFTWARE LIFE-CYCLE MODELS 1 Overview Slide
FPGA Prototyping Primer
FPGA Prototyping Primer S2C Inc. 1735 Technology Drive, Suite 620 San Jose, CA 95110, USA Tel: +1 408 213 8818 Fax: +1 408 213 8821 www.s2cinc.com What is FPGA prototyping? FPGA prototyping is the methodology
Automated Receiving. Saving Money at the Dock Door. Page 8
Automated Receiving Saving Money at the Dock Door Page 8 Today s warehouse management and automated sortation systems are far easier to integrate than in the past. As a result, distribution centers are
Unit 2.1. Data Analysis 1 - V2.0 1. Data Analysis 1. Dr Gordon Russell, Copyright @ Napier University
Data Analysis 1 Unit 2.1 Data Analysis 1 - V2.0 1 Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship? Entities, attributes,
Market Research. Market Research: Part II: How To Get Started With Market Research For Your Organization. What is Market Research?
Market Research: Part II: How To Get Started With Market Research For Your Organization Written by: Kristina McMillan, Sr. Project Manager, SalesRamp Scope: This white paper discusses market research on
Cognitive Domain (Bloom)
Bloom s Taxonomy So what exactly is this thing called Bloom s Taxonomy, and why do education people keep talking about it? Well, Bloom was the head of a group in the 1950 s and 1960 s that created the
Behavior Rating Inventory of Executive Function - Adult Version BRIEF-A. Interpretive Report. Developed by
Behavior Rating Inventory of Executive Function - Adult Version BRIEF-A Interpretive Report Developed by Peter K. Isquith, PhD, Robert M. Roth, PhD, Gerard A. Gioia, PhD, and PAR Staff Client Information
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
Umbrella: A New Component-Based Software Development Model
2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.
Service-Oriented Architecture and its Implications for Software Life Cycle Activities
Service-Oriented Architecture and its Implications for Software Life Cycle Activities Grace A. Lewis Software Engineering Institute Integration of Software-Intensive Systems (ISIS) Initiative Agenda SOA:
GQM + Strategies in a Nutshell
GQM + trategies in a Nutshell 2 Data is like garbage. You had better know what you are going to do with it before you collect it. Unknown author This chapter introduces the GQM + trategies approach for
A/B TESTING. Comparing Data. October 25, 2007 Version 4.0
A/B TESTING Comparing Data October 25, 2007 Version 4.0 CHAPTER 1 1 What is A/B Testing? A/B testing is a means by which you can compare data sets from two different pages, banners, products, etc. A/B
Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali
Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 [email protected] Spring 2014 (elicitation)
Chapter 7: Memory. Memory
Chapter 7: Memory Case Study: H.M. and His Missing Memories Section 1: Memory Classifications and Processes Section 2: Three Stages of Memory Section 3: Forgetting and Memory Improvement Experiment: Applying
CHAPTER 1 INTRODUCTION
CHAPTER 1 INTRODUCTION 1.1 Research Motivation In today s modern digital environment with or without our notice we are leaving our digital footprints in various data repositories through our daily activities,
IAI : Expert Systems
IAI : Expert Systems John A. Bullinaria, 2005 1. What is an Expert System? 2. The Architecture of Expert Systems 3. Knowledge Acquisition 4. Representing the Knowledge 5. The Inference Engine 6. The Rete-Algorithm
A Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
A Path from Windows Desktop to HTML5
A Path from Windows Desktop to HTML5 GIZMOX TRANSPOSITION: The path to modern enterprise application code a Reduce Risk, Cost, and Time to Market for Legacy App Conversions GIZMOX TRANSPOSITION Introduction
The Concern-Oriented Software Architecture Analysis Method
The Concern-Oriented Software Architecture Analysis Method Author: E-mail: Student number: Supervisor: Graduation committee members: Frank Scholten [email protected] s0002550 Dr. ir. Bedir Tekinerdoǧan
Agile Manufacturing for ALUMINIUM SMELTERS
Agile Manufacturing for ALUMINIUM SMELTERS White Paper This White Paper describes how Advanced Information Management and Planning & Scheduling solutions for Aluminium Smelters can transform production
Some programming experience in a high-level structured programming language is recommended.
Python Programming Course Description This course is an introduction to the Python programming language. Programming techniques covered by this course include modularity, abstraction, top-down design,
Business Process Management A Balance Between Process Efficiency & Business Agility
Business Process Management A Balance Between Process Efficiency & Business Agility is a rapidly evolving domain within IT. Vendors are entering into this domain from various directions: from EAI, Document
Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology
Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room
Cognitive and Organizational Challenges of Big Data in Cyber Defense
Cognitive and Organizational Challenges of Big Data in Cyber Defense Nathan Bos & John Gersh Johns Hopkins University Applied Laboratory [email protected], [email protected] The cognitive and organizational
Python Programming: An Introduction to Computer Science
Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 Objectives To understand the respective roles of hardware and software in a computing system. To learn what computer
Service Level Agreements based on Business Process Modeling
Service Level Agreements based on Business Process Modeling Holger Schmidt Munich Network Management Team University of Munich, Dept. of CS Oettingenstr. 67, 80538 Munich, Germany Email: [email protected]
Behavior Rating Inventory of Executive Function BRIEF. Interpretive Report. Developed by. Peter K. Isquith, PhD, Gerard A. Gioia, PhD, and PAR Staff
Behavior Rating Inventory of Executive Function BRIEF Interpretive Report Developed by Peter K. Isquith, PhD, Gerard A. Gioia, PhD, and PAR Staff Client Information Client Name : Sample Client Client ID
Columbia River Project Water Use Plan. Monitoring Program Terms of Reference
Columbia River Project Water Use Plan Revelstoke Flow Management Plan Monitoring Program Terms of Reference CLBMON-15a Middle Columbia River Physical Habitat Monitoring Revision January 29, 2015 Monitoring
Managing Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie
Priori ty ... ... ...
.Maintenance Scheduling Maintenance scheduling is the process by which jobs are matched with resources (crafts) and sequenced to be executed at certain points in time. The maintenance schedule can be prepared
