Software Construction and Evolution CSSE 375: Course Introduction Steve Chenoweth Office: Meonch Room F220 Phone: (812) 877-8974

Slides:



Advertisements
Similar presentations
Ch.1 Introduction to Software Engineering The Evolution 1.1 The Evolving Role of Software 1/15 In the early days: User Computer Software = Place a sequence.
Advertisements

SOFTWARE MAINTENANCE 24 March 2013 William W. McMillan.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
1 CSSE 477: Swre Arch – This year’s course… Steve Chenoweth Tuesday, 11/8/11 Week 10, Day 2 Right – Sunset at the Louvre, in Paris From
1 Software Maintenance and Evolution CSSE 575: Session 3, Part 4 Big Refactorings Steve Chenoweth Office Phone: (812) Cell: (937)
1 Software Maintenance and Evolution CSSE 575: Session 4, Part 1 Software Maintenance – Big Issues served up, Side order of Reifer Steve Chenoweth Office.
1 Software Maintenance and Evolution CSSE 575: Session 1, Part 1 Course Introduction Steve Chenoweth Office Phone: (812) Cell: (937)
Software Configuration Management
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Software Evolution Managing the processes of software system change
Dr Kettani, Spring 2002 Software Engineering IIFrom Sommerville, 6th edition Software change l Managing the processes of software system change.
CS487 Software Engineering Omar Aldawud
1 Course Intro Construction & Evolution CSSE 375 Steve Chenoweth.
Contents Introduction Requirements Engineering Project Management
Maintenance = Software Evolution Any changes after the client has accepted the product is considered maintenance. n Any Changes? n What might these be?
CSSE 375 Software Construction and Evolution: Configuration Management
Chapter 9 – Software Evolution and Maintenance
Software Construction and Evolution - CSSE 375 Reverse Engineering and Reengineering Approaches Shawn & Steve In long-term software developments, the “elephant.
Chapter : Software Process
1 KAN’S INTRO AND OVERVIEW MODELS Ch1 & 2 in his book Steve Chenoweth, CSSE.
March 13, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #15 Tuesday, March 13, 2001.
ABET’s coming to Rose! Your involvement Monday, Nov 5, 2012.
Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
© S. Demeyer, S. Ducasse, O. Nierstrasz Intro.1 1. Introduction Goals Why Reengineering ?  Lehman's Laws  Object-Oriented Legacy Typical Problems  common.
1 Software Construction and Evolution - CSSE 375 Exception Handling – Logging & Special Situations Steve Chenoweth Office: Moench Room F220 Phone: (812)
Distributed Systems: Concepts and Design Chapter 1 Pages
Lecture 1Software Engineering1 (Trimester I Session 2002/2003) Lecturer / Tutor Name : Mr. R. Logeswaran
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
SOFTWARE MAINTENANCE 1. TOPICS TO BE DISCUSSED.. Definition of Maintenance Software Maintenance Types of Maintenance Maintenance Process Need of Maintenance.
Software evolution l Software evolution is the term used in software engineering (specifically software maintenance) to refer to the process of developing.
CSSE 375 Software Construction and Evolution: More SCM, and a loop back to Feathers! Shawn and Steve Left – On big systems, SCM is a well-defined process.
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
Nonbehavioral Specifications Non-behavioral Characteristics Portability Portability Reliability Reliability Efficiency Efficiency Human Engineering.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
An Introduction to Software Engineering (Chapter 1 from the textbook)
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Lecture Videos will no longer be posted. Assignment 3 is due Sunday, the 8 th, 7pm. Today: –System Design,
Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management.
CS451 Software Maintenance Yugi Lee STB #555 (816) Note: This lecture was designed based on Stephen Schach’s.
Software Engineering Introduction.
Component 4: Introduction to Information and Computer Science Unit 9/Part e: Components and Development of Large Scale Systems.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
CS223: Software Engineering Lecture 32: Software Maintenance.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Software Requirements Engineering Session: 1 Topics: Chapters 1 – 3.
Software Configuration Management
Software Project Configuration Management
Continuous Delivery- Complete Guide
8.4 Management of Postdelivery Maintenance
Chapter 18 Maintaining Information Systems
Software Maintenance and Evolution CSSE 575: Session 1, Part 1 Course Introduction Steve Chenoweth Office Phone: (812) Cell: (937)
The Systems Engineering Context
CIS 375 Bruce R. Maxim UM-Dearborn
Software Maintenance Main issues: why maintenance is such an issue
Software Maintenance Main issues: why maintenance is such an issue
Chapter 8 Software Evolution.
Software Maintenance Main issues: why maintenance is such an issue
Lecture 06:Software Maintenance
Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.
Overview of BSSE at Rose-Hulman Institute of Technology
Presentation transcript:

Software Construction and Evolution CSSE 375: Course Introduction Steve Chenoweth Office: Meonch Room F220 Phone: (812) How is our stuff like this? Or not?

Agenda  Introductions  Software – A Problem of Change  Course Outcomes  Guidelines and Expectations  Term Schedule  Homework Reminders

Candid shot from the Creation Museum, Hebron, KY Introductions – Tell us About Yourself…  Name  Major  System Maintenance Experience l Oldest system you have made changes to (either individually or with a team) l Weirdest Software Change or Change Request Q1

What is Software?  The source code and the software artifacts…  Software is part of a computer system that is intended to change  Intangible  Engineered, not manufactured  Complex Software is suppose to change… otherwise it would in the hardware! Software is suppose to change… otherwise it would in the hardware! Q2

Software Doesn’t Wear Out  Software doesn’t change with age or “wear out” with use!  Software “ages” or becomes “obsolete” with a changing environment  Software deteriorates or “degrades” with continued changes Q3

Problem: Software Degradation The Original Software Design... Easy to Understand Components well isolated to facilitate change Isolation supports change validation...Plus a few “Changes” Increased size and complexity...but it works (for awhile) Reliability of system degrades, errors creep in At some point, it’s unmaintainable...effort to make the next change becomes prohibitive Q4

Information Lose Due to Relentless Change Code Design Spec’s Baseline Change Set 1 Change Set 2 Change Set N

Course Theme – Art of avoiding That!  Basic principles of software change  Program understanding and tools  Detecting bad smells  Applying software refactoring  Exception handling for fault tolerance  Software maintenance  Software modernization (reengineering)  Software configuration management  Software user and system documentation  Adv. Topics: Impact Analysis, code tuning 8 Course Topics

Learning Outcome 1 : Practicing software change Work with your (“big”) junior project team to complete and deliver the junior project to the client. In doing so, demonstrate the ability to work within a team. 9 Q5 Woah, client!

Learning Outcome 2: Smells, Refactor to Solve Problems Select appropriate refactoring techniques to resolve design problems “smelt” in the code. Q5

Learning Outcome 3: Program understanding and tools Apply common construction and maintenance heuristics to enhance existing code. 11 Q5

Learning Outcome 4: Really Needed Documentation Organize and develop software stakeholder documentation. Q5 Who are these guys, on your project, anyway?

Learning Outcomes 5 : Basic principles of software change Construct software so that it meets delivery and deployment objectives specified by the project. 13 Q5 Stop coding – here he comes!

Learning Outcomes 6: Maintenance Planning …and Apply impact analysis and other software source analysis to understanding existing software. Q5 How many ducks to we have to line up here?

Learning Outcomes 6: Maintenance Process Apply the corrective, perfective, adaptive and preventive types of software changes and maintenance types. Q5 Wait – Footprints are supposed to be depressions?

Learning Outcome 7: Change Impacts Apply impact analysis and other software source analysis to understanding existing software. Q5

Learning Outcome 8: Exception handling for fault tolerance Use systematic exception handling and other techniques in promoting fault- tolerance. 17 Q5 Wait – what letter was I on?

Learning Outcome 9: Reengineering Describe software modernization approaches such as reverse engineering, reengineering, salvaging, and restructuring. Q5 It says here to connect it to the building across the street…

Learning Outcome 10: Software configuration management Describe the ways configuration management is used in production systems. 19 Q5 I can actually prove that rearranging these blocks is NP-hard.

Course Mechanics  Taught in 3 Sections, Sec 1 (Shawn), Sec 2 & 3 (Steve)  Find most material:  Grades and assignment drop boxes will be on Moodle l Put Q 1 for today there, by the end of class.  See syllabus and schedule Q6,7