Tools for Efficient Implementation Tools for efficient implementation: Design environments ----GUI design tools Configuration management Good coding habits--PSP.

Slides:



Advertisements
Similar presentations
SOFTWARE PROCESS IMPROVEMENT “Never Stop Learning”
Advertisements

Configuration Management
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Chapter 2 The Software Process
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Life Cycles ECE 417/617: Elements of Software Engineering
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models Development Process Models are different ways to look at the processes.
SOFTWARE ENGINEERING LECTURE-3 CSE-477.
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.
Configuration Management
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Developed by Reneta Barneva, SUNY Fredonia The Process.
1 CMPT 275 Software Engineering Revision Control.
Software Configuration Management
Capability Maturity Model
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Chapter 2 Software Process: A Generic View
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
N By: Md Rezaul Huda Reza n
SE-280 Dr. Mark L. Hornick 1 Process Adaptations.
Software Configuration Management (SCM)
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Chapter 2 Process: A Generic View
Lecture 1 Introduction to Software Engineering
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
By Ritesh Reddy Nagaram.  Organizations which are developing software processes are facing many problems regarding the need for change of already existing.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
CS Process Improvement CMM Hans Van Vliet, Software Engineering, Principles and Practice, 3 rd edition, John Wiley & Sons, Chapter 6. W. Humphrey,
CMMI. 1.Initial - The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual.
Chapter 4 프로세스 모델 Process Models
Managing Change 1. Why Do Requirements Change?  External Factors – those change agents over which the project team has little or no control.  Internal.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Developed by Reneta Barneva, SUNY Fredonia The Process.
Page 1 The Capability Maturity Model (CMM) distinguishes between immature and mature software organizations. Immature software organizations are typically.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 29 Slide 1 Configuration management.
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.
Personal Software Process PSP--Personal Software Process.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Software Configuration Management SEII-Lecture 21
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
Software Engineering Lecture 9: Configuration Management.
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.
Cmpe 589 Spring Fundamental Process and Process Management Concepts Process –the people, methods, and tools used to produce software products. –Improving.
Poka-yoke in software A software products company sells application software to an international market. The pull-down menus and associated mnemonics provided.
Advanced Software Engineering Dr. Cheng
Software Project Configuration Management
CS4311 Spring 2011 Process Improvement Dr
Software Configuration Management
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Software Configuration Management
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering Lecture 16.
Software Engineering I
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

Tools for Efficient Implementation Tools for efficient implementation: Design environments ----GUI design tools Configuration management Good coding habits--PSP

Design Environments Design Environment chosen should match process goals Example: GUI design Eclipse—code: requires programmer to understand details of the GUI design can produce clean, understandable code can modify others’ code easily NetBeans—code + “form”: provides automatic support for a “quick and dirty” design to be generated good for quick implementation of a prototype difficult to modify, especially if someone else wrote it Examples: on blackboard page—calculator from first lab

Configuration management Configuration management: Goal: allow efficient file sharing but protect code integrity Important concepts (from IEEE standard ): configuration items (e.g., a device driver) are grouped into a configuration management (CM) aggregate (e.g., Linux) change control mechanisms ensure project goals being met status accounting enables tracking of versions and overall project auditing by a quality control team ensures completeness, consistence, and quality of versions which are released build management minimizes recompilation; may also support customized versions for different environments process management goals are included, e.g., notification of affected developers, documentation updates, error notification Example: CVS

Personal Software Process Good coding practices: PSP--Personal Software Process

Software Engineering Phases Recall:

Capability Maturity Model CMM : capability maturity model--DEFINES LEVEL OF THE DEVELOPMENT PROCESS ITSELF (THIS DOES NOT refer to the process but to the MATURITY LEVEL OF THE PROCESS!!!!) 1. Initial: ad hoc 2. Repeatable: basic project management processes in place 3. Defined: documented process integrated into an organization-wide software process 4. Managed: detailed measures are collected 5. Optimizing--desired level: Continuous process improvement from quantitative feedback

CMU Software Engineering Institute CMM--developed by Carnegie Mellon Institute for Software Engineering designed to improve software development process for an organization what about improving performance of the individual developer / programmer?

Programming Practices How do you personally develop a program? 1. what planning do you do? 2. how do you estimate how long the job will take? 3. how do you keep track of the time you are spending on the project? 4. how do you learn from your mistakes? 5. how do you improve your coding for the next project? 6. do you think your coding ability is steadily improving? 7. how have your answers to these questions changed from when you completed your first programming course up until now? 8. how have you used coding standards, etc. to improve your team efficiency on the quarter project?

PSP PSP--Personal Software Process Apply similar strategies to the work of one individual requires: measurement planning analysis / modification of work habits

TSP TSP--Team Software Process For teams of programmers who have been trained in the PSP

PSP--reference Primary reference: Watts Humphrey, A Discipline for Software Engineering, 1996 additional useful reference: Example work by a programmer attempting to use the PSP Open Source project to make PSP available widely: --the Software Process Dashboard initiative