ICS 52: Introduction to Software Engineering

Similar documents
ICS 52: Introduction to Software Engineering

Configuration management. Adapted from Ian Sommerville 2006, Software Engineering, 8th edition. Chapter 29 1

Software change. Software maintenance

CS 390 Software Engineering Lecture 3 Configuration Management

ICS 52: Introduction to Software Engineering

ICS 52: Introduction to Software Engineering

Software testing. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 23 Slide 1

ICS 52: Introduction to Software Engineering

Software Engineering

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Establishing the overall structure of a software system

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 27, FALL 2012

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Software Engineering Chap.7 - Design and Implementation

Lecture 15 Software Testing

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture

Software Configuration Management Using Ontologies

Distributed Data Infrastructures, Fall 2017, Chapter 2. Jussi Kangasharju

Static and dynamic Testing

Capturing Product Line Architectures

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

MS 50547: Microsoft SharePoint 2010 Site Collection and Site Administration Duration: 5 Days Method: Instructor-Led

Software Engineering Fall 2014

Extending Blaise Capabilities in Complex Data Collections

Chapter 2: The Database Development Process

Software Testing and Maintenance 1. Introduction Product & Version Space Interplay of Product and Version Space Intensional Versioning Conclusion

Working with Reports

CENTRAL SUSQUEHANNA INTERMEDIATE UNIT Application: Fund Accounting. Title IX Athletic Financial Reporting Learning Guide Learning Guide

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

USER GUIDE StarTrack Shipping (Magento 2) Compatibility:

Game Production: reuse

Software Project Management II

Chapter 1: The Database Environment

The Koala Component Model for Consumer Electronics Software by: Ommering, Linden, Kramer, Magee. Presented by: Bridget Flaherty.

Architectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

COMP208/214/215/216. Lecture 4. Requirements Walk-through

CSE 124: Networked Services Fall 2009 Lecture-19

CA Clarity Project & Portfolio Manager

Chapter 18. Software Reuse

Software Engineering (CSC 4350/6350) Rao Casturi

- 1 - Class Intervals

Documentation of SAP Student Lifecycle Management (IS-HER- CM) BS 7 (EHP 4)

Implementing ISDD as Design-to-Test (DTT) Jack L Amsell September, 2012

COMP208/214/215/ Lecture 4. Requirement Analysis Review

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Software re-engineering

System models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods

Evolution of XML Applications

Product Line Architectures (PLAs) using Change-Sets and Relationships

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 27, SPRING 2013

Software Prototyping Animating and demonstrating system requirements. Uses of System Prototypes. Prototyping Benefits

Connector for Microsoft SharePoint Product Guide - On Demand. Version

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

CM+ Concepts and Overview Guide

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

is easing the creation of new ontologies by promoting the reuse of existing ones and automating, as much as possible, the entire ontology

FEATURES GANTT CHART VIEW

Parallel Job Scheduling

CSE 115. Introduction to Computer Science I

The following topics describe how to work with reports in the Firepower System:

Topics in Object-Oriented Design Patterns

Connector for Microsoft SharePoint Product Guide - On Premise. Version

DATA ITEM DESCRIPTION

Data Models: The Center of the Business Information Systems Universe

Legacy Systems. Older software systems that remain vital to an organisation. Legacy systems. Legacy system replacement

Learning objectives. Documenting Analysis and Test. Why Produce Quality Documentation? Major categories of documents

Introduction to Distributed HTC and overlay systems

Overview of lectures today and Wednesday

Curriculum Guide. Integrity 11

"Charting the Course to Your Success!" MOC Microsoft SharePoint 2010 Site Collection and Site Administration Course Summary

N/A. Yes. Students are expected to review and understand all areas of the course outline.

High-Level Architecture v1. Overall Comments about Requirements. Some criticisms. Requirements Concerns. CMS DB Terminology

Grid Services and the Globus Toolkit

Installing and Administering a Satellite Environment

EnterpriseTrack Reporting Data Model Configuration Guide Version 17

Losing Control: Controls, Risks, Governance, and Stewardship of Enterprise Data

Objectives. Format Slide Elements <#> 1

Lecture 16/17: Distributed Shared Memory. CSC 469H1F Fall 2006 Angela Demke Brown

Component-based software engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 19 Slide 1

Overview (and reorientation) of SE

Software architecture: Introduction

Vision for PACE Data Environment, PACE Quantum and the Common Data Set. October 21, 2015

Unix API Books. Linux Kernel Books. Assignments and Exams. Grading for CSC 256. Operating Systems 8/31/2018. CSC 256/456 Fall

CPU Scheduling (1) CPU Scheduling (Topic 3) CPU Scheduling (2) CPU Scheduling (3) Resources fall into two classes:

Rethinking the Definition of the Operational Environment in FIPS Kelvin Desplanque Compliance Engineer 17 May, 2017

Glossary. abort. application schema

Analytics: Server Architect (Siebel 7.7)

ENGINEERING AND TECHNOLOGY MANAGEMENT

Table of Contents. Revision History. 1. Introduction Purpose Document Conventions Intended Audience and Reading Suggestions4

About the P6 EPPM Importing and Exporting Guide

Introduction to Operating System. Dr. Aarti Singh Professor MMICT&BM MMU

DEVELOPING MICROSOFT SHAREPOINT SERVER 2013 ADVANCED SOLUTIONS. Course: 20489A; Duration: 5 Days; Instructor-led

Special Topics: Programming Languages

Constraint Programming for Timetabling

Architectural Design

Introduction to Evolutionary Computation

Oracle System Administrator Fundamentals It s All about Controlling What Users Can See and Do

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010

Transcription:

ICS 52: Introduction to Software Engineering Fall Quarter 2002 Professor Richard N. Taylor Lecture Notes: CM, Management, and Evolution Many slides taken from Ian Sommerville s text http://www.ics.uci.edu/~taylor/ics_52_fq02/syllabus.html Copyright 2021, Richard N. Taylor. Duplication of course material for any commercial purpose without written permission is prohibited. University of California, Irvine 1

A Survival Fare of Topics uconfiguration Management umaintenance and Evolution uproject Management University of California, Irvine 2

Configuration management u New versions of software systems are created as they change For different machines/os Offering different functionality Tailored for particular user requirements u Configuration management is concerned with managing evolving software systems System change is a team activity CM aims to control the costs and effort involved in making changes to a system University of California, Irvine 3

System families University of California, Irvine 4

Configuration Hierarchy (for 1 family member) University of California, Irvine 5

The configuration database u All CM information should be maintained in a configuration database u This should allow queries about configurations to be answered Who has a particular system version? What platform is required for a particular version? What versions are affected by a change to component X? How many reported faults in version T? u The CM database should preferably be linked to the software being managed University of California, Irvine 6

Versions/variants/releases u Version An instance of a system which is functionally distinct in some way from other system instances u Variant An instance of a system which is functionally identical but non-functionally distinct from other instances of a system u Release An instance of a system which is distributed to users outside of the development team University of California, Irvine 7

Version identification u Procedures for version identification should define an unambiguous way of identifying component versions u Three basic techniques for component identification Version numbering Attribute-based identification Change-oriented identification University of California, Irvine 8

Version derivation structure University of California, Irvine 9

Version management tools u Version and release identification Systems assign identifiers automatically when a new version is submitted to the system u Storage management. System stores the differences between versions rather than all the version code u Change history recording Record reasons for version creation u Independent development Only one version at a time may be checked out for change. Parallel working on different versions University of California, Irvine 10

Delta-based versioning University of California, Irvine 11

System building u Building a large system is computationally expensive and may take several hours u Hundreds of files may be involved u System building tools may provide A dependency specification language and interpreter Tool selection and instantiation support Distributed compilation Derived object management Make-oids University of California, Irvine 12

Component dependencies University of California, Irvine 13

Types of maintenance u Maintenance to repair software faults Changing a system to correct deficiencies in the way meets its requirements u Maintenance to adapt software to a different operating environment Changing a system so that it operates in a different environment (computer, OS, etc.) from its initial implementation u Maintenance to add to or modify the system s functionality Modifying the system to satisfy new requirements University of California, Irvine 14

Distribution of maintenance effort University of California, Irvine 15

Management of Software Engineering u Planning Objectives Necessary resources How to acquire resources How to achieve goals u Organizing From small group structure to large organizations u Staffing: the key resource in software development u Directing ensure continuing understanding and buy-in u Controlling Measure performance and take corrective action when necessary University of California, Irvine 16

Project Control: Task-based u Work Breakdown Structures Hierarchical statement of the tasks to be performed» a subset of a statement of the process which will be followed u Off-line management schemes Gantt charts» Bar charts where length of bar proportional to the length of time planned for the activity» Can be used as a statement of schedule» Useful for analysis of resource deployment (e.g. maximum number of engineers needed at any one time) PERT charts» A network of activities showing dependencies (precedence relationships» Exposes critical path» Shows maximal possible parallelism in project execution University of California, Irvine 17

Gantt Chart Example Source: University Ghezzi, of California, et.al., pg. 436 Irvine 18

PERT Chart Example University of California, Irvine Source: Ghezzi, et.al., pg.. 438 19