Component-level testing – Equivalence partitioning, boundary value analysis, path testing Navigation testing – Testing navigation syntax and semantics.

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Sponsored by the U.S. Department of Defense © 2002 by Carnegie Mellon University July 2002 Pittsburgh, PA Lecture 6: Team Planning.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University URL:
Software Configuration Management
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.
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Lecture Nine Database Planning, Design, and Administration
Configuration Management
Chapter 27 Change Management
Software Configuration Management
CSSE 375 Software Construction and Evolution: Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
Database Administration Chapter 16. Need for Databases  Data is used by different people, in different departments, for different reasons  Interpretation.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Software Configuration Management (SCM)
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Chapter 10 Architectural Design
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
SOFTWARE CONFIGURATION MANAGEMENT (SCM)
Software Configuration Management (SCM)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
SOFTWARE CONFIGURATION MANAGEMENT. Change is inevitable when computer software is built. And change increases the level of confusion among software engineers.
Software Project Management
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Database Administration
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 29 Slide 1 Configuration management.
Chapter : 22 Software Configuration Management. Introduction Software Configuration Management is a set of activities designed to manage change by identifying.
Management of Software Project CSM Software Configuration Management (SCM)
Chapter 29 소프트웨어 형상관리 Software Configuration Management
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Software Configuration Management n Art of coordinating SW development to minimize confusion n Software quality assurance (umbrella) activity n Set of.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Configuration Management SEII-Lecture 21
Software Engineering Lecture 9: Configuration Management.
TMP3413 Software Engineering Lab Lab 01: TSPi Tool Support.
Configuration Control (Aliases: change control, change management )
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 27 Change Management Software Engineering: A Practitioner’s Approach, 6/e Chapter 27 Change.
Software Configuration Management (SCM)
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
CIS 375 Bruce R. Maxim UM-Dearborn
Software Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Software Configuration Management
Chapter 11: Software Configuration Management
Software Engineering (CSI 321)
Software Configuration Management
Chapter 27 Change Management
Chapter 29 Software Configuration Management
Lecture 3 Change Management
Chapter 29 Software Configuration Management
Chapter 1 The Nature of Software
Configuration Management (managing change)
Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Baseline – IEEE definition
Chapter 11: Software Configuration Management
Metadata The metadata contains
Chapter 27 Change Management
Chapter 27 Change Management
Software Engineering: A Practitioner’s Approach, 6/e Chapter 27 Change Management copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Configuration Management
Presentation transcript:

Component-level testing – Equivalence partitioning, boundary value analysis, path testing Navigation testing – Testing navigation syntax and semantics Configuration testing – Server-side and client-side issues Security testing – Firewall, authentication, encryption, authorization Performance testing – Load and stress testing 2

Continuous changes Confusion arises if poor change management SCM is a set of tracking and controlling activities SCM activities are developed to – Identify change – Control change – Ensure that change is being properly implemented – Report changes to stakeholders Difference between software support and SCM 3

New business / market change New stakeholder needs Reorganization or business growth/downsizing Budgetary or scheduling constraints 4

Information – Computer programs (source and exe) – Work products for different stakeholders – Data (within the program or external to it) Software Configuration Items (SCI) – Information items e.g. UML diagram or complete design document First law of system engineering – "No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle." 5

Project manager – Timely completion Configuration manager – Procedures and policies are followed Software engineers – Work effectively, communicate and coordinate efficiently Customer – Follow formal procedures to request change – Indicate bugs in product 6

Component elements – Set of tools to access and manage configuration items Process elements – Collection of actions and tasks for change management Construction elements – Set of tools that automate the construction of software Human elements – Set of tools and process features to implement effective SCM 7

8 Figure source: Software Engineering: A Practitioner’s Approach, R. S. Pressman, 7 th ed., p. 588

9 Figure source: Software Engineering: A Practitioner’s Approach, R. S. Pressman, 7 th ed., p. 590

In early days of software engineering – Paper documents – Finding a configuration item was difficult – When items are changed? – Constructing a new version was time consuming and error prone – Describing detailed relationships between components was virtually impossible – Programmer had to remember a lot of things 10

Set of mechanisms and data structures Data integrity, sharing, and integration Meta-model – How information is stored? – How data can be accessed by tools? – How data can be viewed by software engineers? – How well data security and integrity can be maintained? – How well the existing model can be extended? 11

Provides two classes of services – Conventional services of modern DBMS – Services specific to software engineering environment Services for software team – Integrate or directly support process management functions – Support specific rules that govern the SCM function and the data maintained within the repository – Provide an interface to other tools – Accommodate storage of sophisticated data objects e.g. graphics and video 12

13 Figure source: Software Engineering: A Practitioner’s Approach, R. S. Pressman, 7 th ed., p. 591

Versioning – Many versions are created – Must save all versions – Must be able to control wide variety of object types Dependency tracking and change management – Variety of relationships – Tracking all relationships is crucial Requirements tracing – Tracking of design and construction components to requirements – Forward and backward tracing 14

Configuration management – Tracking of series of configurations representing specific project milestones or production releases Audit trails – Additional information about when, why, and by whom changes are made – Source of changes can be entered as attributes of specific objects – Repository trigger mechanism to enter audit information for change 15

Main objectives – To identify all items that collectively define the software configuration – To manage changes to one or more of these items – To facilitate the construction of different versions of an application – To ensure software quality is maintained as the configuration evolves over time 16

Questions to answer How does a software team identify the discrete elements of a software configuration? How does an organization manage the many existing versions of a program (and its documentation) in a manner that will enable change to be accommodated efficiently? How does an organization control changes before and after software is released to a customer? Who has responsibility for approving and ranking requested changes? How can we ensure that changes have been made properly? What mechanism is used to apprise others of changes that are made? 17

18 Figure source: Software Engineering: A Practitioner’s Approach, R. S. Pressman, 7 th ed., p. 593

To manage and control items, we need to separately name and organize them using object-oriented approach Basic objects – Unit of information – Example: section of requirements specification Aggregate objects – Collection of basic and other aggregate objects – A list of pointers (at conceptual level) – Example: DesignSpecification contains ComponentN and UMLClassDiagramN 19

Distinct object features Name – Character string – Unambiguous identification Description – List of data items that identify SCI type e.g. model element, program, data – Project identifier, change/version information List of resources – Resources provided, processed, referenced, or otherwise required by the object – Example: data types, specific functions, variable names Realization – A pointer to the unit of text in case of basic object and null for an aggregate object 20

Relationships – Class diagram requirements model – Requirements model requirements specification Hierarchy (cross-structure relationships) – DataModel DataFlowModel – DataModel TestCaseClassM 21

Change management Software configuration management SCM scenario Elements of SCM – Component, process, construction, and human elements SCM repository SCM process – Identification of objects 22