SlideShare una empresa de Scribd logo
1 de 27
Introduction to
Software Eng
Maryam
Rational Unified Process
Process
● configurable
– no single process is suitable for all
software development.
– adapts to small & large development
teams
● documentation
– model based artifacts
– UML
Building blocks of RUP
 Building blocks
● roles (who) – responsibilities
● tasks (how) – unit of work – result
oriented – should be useful
● work products (what) – resultant
product
Life-cycle Phases
 four phases
inception,
elaboration,
construction,
transition
● characteristics
– sequential in nature
sounds like waterfall methodology
– each phase focuses on a
key objective
milestone delivery
RUP – Lifecycle Phases
 Inception
-- vision document
--scope the system
– identify major
players
– risk, cost etc
 Elaboration
- risk identification -
problem domain
- analysis &
architecture
 Construction
--build the software
-- can be broken down
into iterations
Transition
--transition from
development to
production
RUP WorkFlows
 Business modeling
● domain
understanding
 Requirements
● vision document &
use cases
 Analysis & Design
● blueprint for
system realization
 Implementation
● develop
components Test
● testing throughout
the project
 Deployment
● product releases
● software delivery
RUP
RUP Best Practices
 Develop iteratively
● not possible to
– define the problem upfront
– design the entire solution
● each iteration ends with a release
Manage requirements
● use case to capture functional
requirements
● should be traceable
RUP Best Practices
 Use components Model visually
● different models to communicate
– different aspects
– with different stakeholders
– UML
RUP Best Practices
 Verify quality
● review
– functional requirements
– non-functional requirements
● should be part of the process Control
changes
● continuous integration
Agile Development
 is an umbrella
term for
several
iterative and
incremental
software
development
methodologie
s.
 XP is based on
◦ four values
◦ twelve practices
Values of XP
 Communication. Most projects fail because of poor
communication. So implement practices that force
communication in a positive fashion.
◦ This is one of the four Agile values – a bit reworded but really the
same value.
 Simlicity. Develop the simplest product that meets the
customer’s needs
 Feedback. Developers must obtain and value feedback
from the customer, from the system, and from each other.
◦ The same as standard Agile values: value customer collaboration
over contract negotiation.
 Courage. Be prepared to make hard decisions that
support the other principles and practices.
Extreme Programming Practices
Knowledge
Planning Game
 Business and development cooperate to produce max business
value as quickly as possible.
 The planning game:
◦ Business comes up with a list of desired features.
◦ Each feature is written out as a User Story,
 feature has a name, and is described in broad strokes what is required.
◦ User stories are typically written on 4x6 cards.
◦ Development estimates how much effort each story will take, and how
much effort the team can produce in a given time interval.
◦ Business then decides
 order of stories to implement,
 And when and how often to produce a production release of the system
Simple Design
 Simplest possible design to get job done.
 Requirements will change tomorrow, do
what's needed to meet today's requirements
 Design in XP is not a one-time; an all-the-
time thing. Have design steps in
◦ release planning
◦ iteration planning,
◦ teams engage in quick design sessions and design
revisions through refactoring,
 through the course of the entire project.
Metaphor
 Extreme Programming teams develop a common
vision of how the program works, which we call the
"metaphor".
 At its best, the metaphor is a simple evocative
description of how the program works.
 XP teams use
 common system of names to be sure that everyone
understands how the system works
 and where to look to find the functionality you're
looking for,
 or to find the right place to put the functionality
you're about to add.
Test First
 XP teams focus on validation of the software
at all times
 Programmers develop software by writing
tests first, and then code that fulfills the
requirements reflected in the tests.
 Customers provide acceptance tests that
enable them to be certain that the features
they need are provided.
Refactoring
 XP Team Refactor out any duplicate code
generated in a coding session.
 Refactoring is simplified due to extensive
use of automated test cases.
Pair Programming
 All production code is written by two programmers
sitting at one machine.
◦ This practice ensures that all code is reviewed as it is
written and results in better Design, testing and better
code.
 Some programmers object to pair programming
without ever trying it.
◦ It does take some practice to do well, and you need to do it
well for a few weeks to see the results.
◦ Ninety percent of programmers who learn pair programming
prefer it, so it is recommended to all teams.
 Pairing, in addition to providing better code and tests,
also serves to communicate knowledge throughout
the team.
Collective Owner Ship
 No single person "owns" a module.
 Any developer is expected to be able to
work on any part of the codebase at any
time.
Continuous Integration
 All changes are integrated into the codebase at least daily.
 Unit tests have to run 100% both before and after integration.
◦ Infrequent integration leads to serious problems on a project.
 Although integration is critical to shipping good working code, the
team is not practiced at it, and often it is delegated to people not
familiar with the whole system.
 Problems creep in at integration time that are not detected by
any of the testing that takes place on an un-integrated system.
 Code freezes mean that you have long time periods when the
programmers could be working on important shippable features,
but that those features must be held back.
Sustainable Pace(40 Hrs week)
 Programmers go home on time.
◦ In crunch mode, up to one week of overtime is
allowed.
 Multiple consecutive weeks of overtime
are treated as a sign that something is
very wrong with the process and/or
schedule
OnSite Customer
 Development team has continuous
access to the customer who will actually
be using the system.
 For initiatives with lots of customers, a
customer representative (i.e. Product
Manager) will be designated for
Development team access.
Coding Standards
 Everyone codes to the same standards.
 The specifics of the standard are not
important: what is important is that all of
the code looks familiar, in support of
collective ownership
Small Release
 The development team needs to release
iterative versions of the system to the
customers often. Some teams deploy new
software into production every day.
 The release planning meeting is used to
plan small units of functionality that make
good business sense and can be released
into the customer's environment early in
the project.
Introduction to Software Engineering

Más contenido relacionado

La actualidad más candente

Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 
XP Explained
XP ExplainedXP Explained
XP Explainedvineet
 
Agile Software Development with XP
Agile Software Development with XPAgile Software Development with XP
Agile Software Development with XPVashira Ravipanich
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming Fatemeh Karimi
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) ModelDamian T. Gordon
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Vinit Kumar Singh
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesJon McNestrie
 
Extreme Programming (XP) Project Process Flow Chart
Extreme Programming (XP)  Project Process Flow ChartExtreme Programming (XP)  Project Process Flow Chart
Extreme Programming (XP) Project Process Flow Chartcarbrac
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme ProgrammingKnoldus Inc.
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAniruddha Chakrabarti
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingMr SMAK
 
Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programmingMichael Green
 
Audrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAudrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAgile Lietuva
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingaaina_katyal
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 

La actualidad más candente (20)

Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
XP Explained
XP ExplainedXP Explained
XP Explained
 
Agile Software Development with XP
Agile Software Development with XPAgile Software Development with XP
Agile Software Development with XP
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for Dummies
 
Extreme Programming (XP) Project Process Flow Chart
Extreme Programming (XP)  Project Process Flow ChartExtreme Programming (XP)  Project Process Flow Chart
Extreme Programming (XP) Project Process Flow Chart
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programming
 
XP In 10 slides
XP In 10 slidesXP In 10 slides
XP In 10 slides
 
Audrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAudrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme Programming
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
extreme programming
extreme programmingextreme programming
extreme programming
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 

Similar a Introduction to Software Engineering

Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingAYUSH JAIN
 
Agile software development
Agile software developmentAgile software development
Agile software developmentpradeeppatelpmp
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development MethodologiesPradeep Patel, PMP®
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdfBassam Kanber
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesJérôme Kehrli
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptDurga Prasad
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopJim Plush
 
Unit 6- Development Evolution model
Unit 6- Development Evolution model Unit 6- Development Evolution model
Unit 6- Development Evolution model arvind pandey
 
Twelve practices of XP_Se lect5 btech
Twelve practices of XP_Se lect5 btechTwelve practices of XP_Se lect5 btech
Twelve practices of XP_Se lect5 btechIIITA
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 

Similar a Introduction to Software Engineering (20)

Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
What is xp
What is xpWhat is xp
What is xp
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Getting It Done
Getting It DoneGetting It Done
Getting It Done
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdf
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and Practices
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.ppt
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP Shop
 
Unit 6- Development Evolution model
Unit 6- Development Evolution model Unit 6- Development Evolution model
Unit 6- Development Evolution model
 
Twelve practices of XP_Se lect5 btech
Twelve practices of XP_Se lect5 btechTwelve practices of XP_Se lect5 btech
Twelve practices of XP_Se lect5 btech
 
Agile
AgileAgile
Agile
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
 
4. ch 3-agile process
4. ch 3-agile process4. ch 3-agile process
4. ch 3-agile process
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 

Más de International Islamic University Islamabad (8)

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
SYSTEM ENGINEERING
SYSTEM ENGINEERINGSYSTEM ENGINEERING
SYSTEM ENGINEERING
 
Chapter # 1
Chapter # 1 Chapter # 1
Chapter # 1
 
Diode
Diode Diode
Diode
 
Digital electronics multiplexers demultiplexers
Digital electronics multiplexers demultiplexersDigital electronics multiplexers demultiplexers
Digital electronics multiplexers demultiplexers
 
Automatic Night Light With Morning Alarm
Automatic Night Light With Morning AlarmAutomatic Night Light With Morning Alarm
Automatic Night Light With Morning Alarm
 

Último

Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...tanu pandey
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projectssmsksolar
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf203318pmpc
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 

Último (20)

Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 

Introduction to Software Engineering

  • 2. Rational Unified Process Process ● configurable – no single process is suitable for all software development. – adapts to small & large development teams ● documentation – model based artifacts – UML
  • 3. Building blocks of RUP  Building blocks ● roles (who) – responsibilities ● tasks (how) – unit of work – result oriented – should be useful ● work products (what) – resultant product
  • 4. Life-cycle Phases  four phases inception, elaboration, construction, transition ● characteristics – sequential in nature sounds like waterfall methodology – each phase focuses on a key objective milestone delivery
  • 5. RUP – Lifecycle Phases  Inception -- vision document --scope the system – identify major players – risk, cost etc  Elaboration - risk identification - problem domain - analysis & architecture  Construction --build the software -- can be broken down into iterations Transition --transition from development to production
  • 6. RUP WorkFlows  Business modeling ● domain understanding  Requirements ● vision document & use cases  Analysis & Design ● blueprint for system realization  Implementation ● develop components Test ● testing throughout the project  Deployment ● product releases ● software delivery
  • 7. RUP
  • 8. RUP Best Practices  Develop iteratively ● not possible to – define the problem upfront – design the entire solution ● each iteration ends with a release Manage requirements ● use case to capture functional requirements ● should be traceable
  • 9. RUP Best Practices  Use components Model visually ● different models to communicate – different aspects – with different stakeholders – UML
  • 10. RUP Best Practices  Verify quality ● review – functional requirements – non-functional requirements ● should be part of the process Control changes ● continuous integration
  • 11. Agile Development  is an umbrella term for several iterative and incremental software development methodologie s.
  • 12.  XP is based on ◦ four values ◦ twelve practices
  • 13. Values of XP  Communication. Most projects fail because of poor communication. So implement practices that force communication in a positive fashion. ◦ This is one of the four Agile values – a bit reworded but really the same value.  Simlicity. Develop the simplest product that meets the customer’s needs  Feedback. Developers must obtain and value feedback from the customer, from the system, and from each other. ◦ The same as standard Agile values: value customer collaboration over contract negotiation.  Courage. Be prepared to make hard decisions that support the other principles and practices.
  • 15. Planning Game  Business and development cooperate to produce max business value as quickly as possible.  The planning game: ◦ Business comes up with a list of desired features. ◦ Each feature is written out as a User Story,  feature has a name, and is described in broad strokes what is required. ◦ User stories are typically written on 4x6 cards. ◦ Development estimates how much effort each story will take, and how much effort the team can produce in a given time interval. ◦ Business then decides  order of stories to implement,  And when and how often to produce a production release of the system
  • 16. Simple Design  Simplest possible design to get job done.  Requirements will change tomorrow, do what's needed to meet today's requirements  Design in XP is not a one-time; an all-the- time thing. Have design steps in ◦ release planning ◦ iteration planning, ◦ teams engage in quick design sessions and design revisions through refactoring,  through the course of the entire project.
  • 17. Metaphor  Extreme Programming teams develop a common vision of how the program works, which we call the "metaphor".  At its best, the metaphor is a simple evocative description of how the program works.  XP teams use  common system of names to be sure that everyone understands how the system works  and where to look to find the functionality you're looking for,  or to find the right place to put the functionality you're about to add.
  • 18. Test First  XP teams focus on validation of the software at all times  Programmers develop software by writing tests first, and then code that fulfills the requirements reflected in the tests.  Customers provide acceptance tests that enable them to be certain that the features they need are provided.
  • 19. Refactoring  XP Team Refactor out any duplicate code generated in a coding session.  Refactoring is simplified due to extensive use of automated test cases.
  • 20. Pair Programming  All production code is written by two programmers sitting at one machine. ◦ This practice ensures that all code is reviewed as it is written and results in better Design, testing and better code.  Some programmers object to pair programming without ever trying it. ◦ It does take some practice to do well, and you need to do it well for a few weeks to see the results. ◦ Ninety percent of programmers who learn pair programming prefer it, so it is recommended to all teams.  Pairing, in addition to providing better code and tests, also serves to communicate knowledge throughout the team.
  • 21. Collective Owner Ship  No single person "owns" a module.  Any developer is expected to be able to work on any part of the codebase at any time.
  • 22. Continuous Integration  All changes are integrated into the codebase at least daily.  Unit tests have to run 100% both before and after integration. ◦ Infrequent integration leads to serious problems on a project.  Although integration is critical to shipping good working code, the team is not practiced at it, and often it is delegated to people not familiar with the whole system.  Problems creep in at integration time that are not detected by any of the testing that takes place on an un-integrated system.  Code freezes mean that you have long time periods when the programmers could be working on important shippable features, but that those features must be held back.
  • 23. Sustainable Pace(40 Hrs week)  Programmers go home on time. ◦ In crunch mode, up to one week of overtime is allowed.  Multiple consecutive weeks of overtime are treated as a sign that something is very wrong with the process and/or schedule
  • 24. OnSite Customer  Development team has continuous access to the customer who will actually be using the system.  For initiatives with lots of customers, a customer representative (i.e. Product Manager) will be designated for Development team access.
  • 25. Coding Standards  Everyone codes to the same standards.  The specifics of the standard are not important: what is important is that all of the code looks familiar, in support of collective ownership
  • 26. Small Release  The development team needs to release iterative versions of the system to the customers often. Some teams deploy new software into production every day.  The release planning meeting is used to plan small units of functionality that make good business sense and can be released into the customer's environment early in the project.