Технологии программирования. Что? Как? Когда? Зачем? Для кого? Постановка проблемы.

Slides:



Advertisements
Similar presentations
Extreme Programming ( an introduction ).
Advertisements

SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
SDLC – Beyond the Waterfall
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
The Software Process ECE 417/617: Elements of Software Engineering
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
Business Driven Technology Unit 5
Alternate Software Development Methodologies
Agile methods and techniques– some method comparisons Dave Parsons Mark Cranshaw.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
CS 325: Software Engineering January 15, 2015 Software Process & Methodology Prototyping Process Model Evolutionary Process Model Spiral Process Model.
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Agile

Software Development Process Models. The Waterfall Development Model.
13-Jun-15 Extreme Programming. 2 Software engineering methodologies A methodology is a formalized process or set of practices for creating software An.
Agile Methodology: The New Wave in Software Development By Patricia Cleary Thesis Hypothesis: The agile methodologies are better than the current methodology.
Extreme Programming Collaboration in Software Development Process.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
Extreme Programming--a “New” Process Model Extreme Programming-- a “New” Process Model.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
COMP 350: Object Oriented Analysis and Design Lecture 2
CHAPTER 17 Building Software to Support an Agile Organization
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
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.
CIS 321—IS Analysis & Design
Agile Software Development What is Agile? And How are we implementing Agile?
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
Extreme Programming: Introduced Matthew Heusser Excelon Development – xndev.com - Presented to CS 611 at GVSU, 4/6/2005.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
COMP3001 Technology Management & Professional Issues: Project Management Agile and Iterative Planning Lecture 7 Graham Collins, UCL
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming.
Agile
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Informatics 43 – May 14, Open Source Source code is freely available and (usually) re-distributable Examples: Firefox web browser Apache HTTP Server.
CS3100 Software Project Management Agile Approaches.
Part I Heading text 1 Part II Heading text 2 Kristian Sandahl Part III Heading text 3 1 Requirements  Elicitation  Analysis  Specification.
Software Waterfall Life Cycle
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
1/2/12 Chapt 2 Iterative Evolutionary Agile. 1/2/12 (Rational) Unified Process A software development process – Flexible and open Other processes – XP.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
EXtreme Programming and Open Source engineering paradigm A comparison
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
SOFTWARE PROCESS MODELING Benjamin Dixon U
Engineering Practices Necessary for Scrum andrew fuqua enterprise agile coach LeadingAgile, LLC
25-Feb-16 Extreme Programming. 2 Software engineering methodologies A methodology is a formalized process or set of practices for creating software An.
Think Scrum, act Scrum Scrum Practitioner like a boss Thibault Clavier.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Project Management Software development models & methodologies
Software Development.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Appendix B Agile Methodologies
Software Engineering Process
Planning User stories are written.
Waterfall and Agile Quality Techniques
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Chapt 2 Iterative Evolutionary Agile.
Software Engineering Fundamentals
Introduction to XP.
Presentation transcript:

Технологии программирования

Что? Как? Когда? Зачем? Для кого? Постановка проблемы

Из чего состоит разработка Requirements Design Implementation Verification Maintenance Inception, Elaboration, Construction, Transition

Waterfall

Iterative: prototyping Throw-away Evolutionary Horizontal Vertical

Agile manifesto (суть) Личности и их взаимодействия важнее, чем процессы и инструменты; Работающее программное обеспечение важнее, чем полная документация; Сотрудничество с заказчиком важнее, чем контрактные обязательства; Реакция на изменения важнее, чем следование плану.

Agile: eXtreme Programming (XP) Pair programming Test-driven development Whole team Collective code ownership Planning game, small releases 40-часовая рабочая неделя Как правило, все в одном помещении

Design & Implementation top-down <> bottom-up Coupling <> cohesion Design by contract Refactoring – reengineering – optimization

Verification Benchmarks Unit test – integration – system Regression Coverage, build, smoke Stress

Ideology Worse is better KISS You Ain't Gonna Need It The Mythical Man-Month