Software Development Lifecycle & Release Management Scottie Cheng.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Calyxinfo Walking through Calyx Info The Organisation.
INSE - Lecture 15  SE Project Management  This lecture is a brief overview –  mainly things to remember to do!
CS487 Software Engineering Omar Aldawud
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Rational Unified Process
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
Introduction to z/OS Basics © 2006 IBM Corporation Chapter 8: Designing and developing applications for z/OS.
1 Software Engineering II Presentation Software Maintenance.
Slide 1 Sterling Software Peter Sharer Sterling Software.
1 CMSC 132: Object-Oriented Programming II Software Development III Department of Computer Science University of Maryland, College Park.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Systems Analysis and Design in a Changing World, 6th Edition
Effort in hours Duration Over Weeks Or Months Inception Launch Web Lifecycle Methodology Maintenance Phases Copyright Wonderlane Studios.
Software projects Management & Development Alireza Saebi
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Functional Testing Test cases derived from requirements specification document – Black box testing – Independent testers – Test both valid and invalid.
IT:Network:Microsoft Applications
Basel Accord IITRANSITIONSERVICES Business Integration Support FCM Management Limited Paris New York Toronto.
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
Computers & Employment By Andrew Attard and Stephen Calleja.
Trend Quality Assurance Edward Tsai 蔡木本 趨勢科技全球軟體研發部協理 April 22, 2003.
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
Symposium 2001June 24, 2001 Curriculum Is Just the Beginning Chris Stephenson University of Waterloo.
Supplementary Specifications (Chapters 20,22 - Requirements Text) Question 1 by Steve & Chandan (Along with others in the past! - See notes, below)
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.

1 10/14/2015ã 2007, Spencer Rugaber The Waterfall Process Software plans and requirements Validation System feasibility Validation Product design Verification.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Large Scale Software Systems Derived from Dr. Fawcett’s Notes Phil Pratt-Szeliga Fall 2010.
Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)
M4 Alpha Release August 9 th February 8th, 2006 M4 Alpha Release Modified Agenda Review M4 Objectives, General Concepts and Design Review M4 Development.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Motorola Internal Use OnlyGlobal Software – Performance Excellence Engineering Induction Training Program (E-ITP) Project Management Part 4 SG Performance.
9/23/2009 NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
PC204 Lecture 5 Programming Methodologies Copyright 2000 by Conrad Huang and the Regents of the University of California. All rights reserved.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
Stages of design  High level design  High level data structure  Architecture  Low level design-code design  Algorithms  Low level data structures.
CPSC 871 John D. McGregor Module 6 Session 2 Validation and Verification.
An Overview of Support of Small Embedded Systems with Some Recommendations Controls Working Group April 14, 2004 T. Meyer, D. Peterson.
Making the System Operational Implementation & Deployment
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less.
Configuration & Management for Joachim Flammer Integration Team EGEE is a project funded by the European Union under contract IST JRA1 all-hands-meeting,
ITEC 275 Computer Networks – Switching, Routing, and WANs Week 12 Chapter 14 Robert D’Andrea Some slides provide by Priscilla Oppenheimer and used with.
CS646: Software Design and Architectures Introduction and Overview †  Definitions.  The general design process.  A context for design: the waterfall.
Test all the things! Improving code quality at the OU with Continuous Integration MoodleMoot Ireland UK 2016 Mark Johnson Tony Lin.
Chapter 24: Architecture Competence
Software Engineering (CSI 321)
CS4311 Spring 2011 Process Improvement Dr
Lecture 17 ATAM Team Expertise
List of Topics.
Machine Learning Telepathy for Shift Right Approach
Software Development Process
Software Engineering Lecture #45
Introduction To software engineering
Software Verification, Validation, and Acceptance Testing
Managing the Test Process CS 4501 / 6501 Software Testing
Chapter 2. Problem Solving and Software Engineering
Presentation transcript:

Software Development Lifecycle & Release Management Scottie Cheng

Agenda  Experience  Product Release  Roles in Product Development  Software Development Lifecycle

Army Logistic Command  Logistic information system  Information Technology Officer  Network management  Server management  Database management  Web development (ASP, Java)  Other skills (making slides, PC maintenance…)  One-man development, no process control, no quality control.  Contract with SI

Incentia Design Systems  EDA software  Logic synthesis  STA  Physical synthesis (placement)  R&D engineer, R&D manager  C/C++,  Multi-host, multi-process, multi-thread  Coding + unit testing  Process: Yes.

Synopsys  EDA software  Physical verification  Program Manager  Release process  Software quality  Coordination/Communication  Big team (100+ R&D/QA)  Different location/time zone  Taipei (Taiwan), Shanghai (China), Mountain View (CA), Durham (NC), Bangalore (India)

Definition  Project management  Program management  Product management

Software Release Feature release Service pack Hotfix B4 Service pack Hotfix B4 Feature release Service pack Hotfix B4 Hotfix Service pack Hotfix

Roles in Product Development Product Application Consultant Corporate Application Engineer R&D EngineerQA Engineer Software Engineering Integration support Porting platform support Software development tool support Process/Program management Logistics Release managementTechnical publication

Software Development Lifecycle PlanDesignImplementationTestingRelease

Planning (AC, CAE)  Understand the issue, and identify the root cause.  Users usually do not know what they want.  Requirement specification  Input-Process-Output  Acceptance criteria  Priority  Schedule

Design (R&D, CAE)  Design the new function to meet the requirement.  Ease of use.  Functional specification

Implementation (R&D)  Coding best practice  Architecture/Design patterns  Reuse  De-coupling  Coding style  Code comment/documentation  Keep in mind  Correctness always comes first.  Efficiency (performance)  Testability  Ease-of-debug

Testing  Regression  Daily  Porting platform  Code quality  Purify/Valgrind  Purecov  Quantify  Coverity  Performance testing  Runtime  Memory  Unit test  Module-level  Command-level  Flow testing  Alpha/Beta testing Automatic/regularPer project (R&D, QA, CAE, AC)

Release  Documentation  User Guide  Reference Manual  Release Note  Training materials  User feedback

Suggestions  Technical basics  Algorithm, data structure, design pattern, database, network  Language is not the key. Master one or two language is enough.  Domain knowledge  Software is nothing but a tool.  Team work vs one-man team  Communication ability is important.  Prototyping vs completeness

You are developing a PRODUCT, not writing CODE.