SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Kürzlich hochgeladen

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxPurva Nikam
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 

Kürzlich hochgeladen (20)

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptx
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 

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.