SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
************ Lean [POPPENDIECK-2003] Chapter 1, 2 **************************************************
Lean is: “A systematic approach to identifying and eliminating waste through continuous improvement, flowing the
product at the pull of the customer in pursuit of perfection.” Lean is centered around preserving value with less work.
Lean Software Development is the application of lean principles to the craft of software development.
Just-in-time approach. Stop trying to maximize local efficiencies.
Practice: Stop-the-Line culture.
1. Preoccupation with failure
2. Reluctance to simplify
3. Sensitivity to operations
4. Commitment to learn from mistakes
5. Deference to expertise
The Toyota Product Development System, Four cornerstone
elements:
1. System design by an entrepreneurial leader
2. Expert engineering workforce
3. Responsibility based planning and control
4. Self-based concurrent engineering
Principles are underlying truths that don’t change over time
or space, while practices are the application of principles to
a particular situation.
The learn-by-doing approach: Adopt a coherent set of
practices with confidence that this will eventually lead to
understanding of the principles behind them. Then there is
an understand-before-doing approach: Understand the
underlying principles, and use them to develop practices for
specific situations.
Software Embedded software is the part of a product that is expected to change. If it didn’t need to change, then it
might as well be hardware.
Development is the process of transforming ideas into products.
Kanban is a method for managing the creation of products with an emphasis on continual delivery while not
overburdening the development team.
Seven Principles of Lean Software Development
1. Eliminate waste. A common agile development practice is the ‘retrospective’, which is the process of the team
meeting after each short iteration to discuss what went well, what didn’t, and what could be done differently in
the next iteration. This iterative process of learning and continual improvement is an important part of
identifying waste and eliminating it.
2. Build quality in. There are quality assurance processes designed to avoid quality issues in the first place.
Examples of this are Pair Programming, Test Driven Development, constant feedback and automation. Myth:
The Job of Testing Is to Find Defects
3. Create Knowledge. Things to do to help create knowledge: Pair programming, code reviews, documentation,
wiki, commented code, knowledge sharing sessions, training. Myth : Predictions Create Predictability
4. Defer Commitment. Decide as late as possible, particularly for decisions that are irreversible, or at least will be
impractical to reverse. Architect the solution so that fewer commitments are irreversible. And defer
commitment on irreversible decisions to the latest point possible. Myth: Planning Is Commitment
5. Deliver Fast. An effective organization doesn’t demand teams do more than they are capable of, but instead
asks them to self-organize and determine what they can accomplish. Constraining these teams to delivering
potentially shippable solutions on a regular basis motivates them to stay focused on continuously adding value.
Myth: Haste Makes Waste
6. Respect People. The implication is that you need a lean governance strategy that focuses on motivating and
enabling IT teams—not on controlling them. Myth: There Is One Best Way
7. Optimizing the whole. Must look at the bigger picture. Optimize the whole value stream, not just individual
functions or teams. Myth: Optimize By Decomposition
************ Software Modeling - UML [FOWLER-2002] Chapter 3, 4, 10 ************************************
A class diagram describes the types of objects in the System and the various kinds of static relationships that exist
among them. Class diagrams also show the properties and operations of a Class and the constraints that apply to the
way objects are connected. The UML uses the term feature as a general term that covers properties and operations of
a Class.
Properties represent structural features of a Class. Properties are a single concept, but they appear in two quite distinct
notations: attributes and associations.
The attribute notation describes a property as a line of text within the
class box itself.
An association is a solid line between
two classes, directed from the source
class to the target class. The name of
the property goes at the target end of
the association, together with its
multiplicity. The target end of the
association links to the class that is the
type of the property.
The multiplicity of a property is an indication of how many objects may fill the property. The most common
multiplicities you will see are
 1 (An order must have exactly one customer.)
 0..1 (A corporate customer may or may not have a single sales rep.)
 *(A customer need not place an Order and there is no upper limit to the number of Orders a Customer may
place-zero or more orders.)
A bidirectional association is a pair of properties that are
linked together as inverses.
Operations are the actions that a class knows to carry out. An operation is something that is invoked on an object-the
procedure declaration-whereas a method is the body of a procedure.
Typical example of generalization involves the personal and corporate customers of a business. They have differences
but also many similarities. The similarities can be placed in a general Customer class (the Supertype), with Personal
Customer and Corporate Customer as subtypes.
An important principle of using inheritance effectively is substitutability. I should be able to substitute a Corporate
Customer within any Code that requires a Customer, and everything should work fine.
Notes are comments in the diagrams. Notes can stand on their own, or they can be linked with a dashed line to the
elements they are commenting
A dependency exists between two
elements if changes to the definition of
one element (the supplier) may cause
changes to the other (the client).
Interaction diagrams describe how groups of
objects collaborate in some behavior. The most
common is the sequence diagram. A sequence
diagram captures the behavior of a single
scenario. The diagram shows a number of
example objects and the messages that are
passed between these objects within the use
case.
Centralized control, one participant does all
the processing.
Distributed control, processing is split among
many participants, each doing a little bit.
Both loops and conditionals use interaction frames, which
are ways of marking off a piece of a sequence diagram.
If a caller sends a synchronous message, it must wait until
the message is done, such as invoking a subroutine. If a
caller sends an asynchronous message, it can continue
processing and doesn't have to wait for a response.
You should use sequence diagrams when you want to look at the behavior of several objects within a single use case.
Sequence diagrams are good at showing collaborations among the objects; they are not so good at precise definition of
the behavior.
State machine diagrams are a familiar
technique to describe the behavior of a
System. In object-oriented approaches, you
draw a State machine diagram for a single
class to show the lifetime behavior of a single
object.
States can react to events without transition,
using internal activities: putting the event,
guard, and activity inside the state box itself.
An internal activity is similar to a self-
transition: a transition that loops back to the
same state.
The entry activity is executed whenever you enter a states the exit
activity, whenever you leave. However, internal activities do not
trigger the entry and exit activities; that is the difference between
internal activities and self-transitions.
Several states share common transitions and
internal activities. In these Gases, you can
make them substates and move the shared
behavior into a superstate.
States can be broken into several orthogonal
state diagrams that run concurrently.
A state diagram can be implemented in
three main ways: nested switch, state
patterns and state tables.
Stare diagrams are good at describing the behavior of an object across several use cases. Stare diagrams are not very
good at describing behavior that involves a number of objects collaborating.

Mais conteúdo relacionado

Destaque

Proyecto de aula escuela rural renacer
Proyecto de aula escuela rural renacerProyecto de aula escuela rural renacer
Proyecto de aula escuela rural renacergivibla
 
Libro digital
Libro digitalLibro digital
Libro digitallu1sd4v1d
 
Sitios
SitiosSitios
Sitiosenuti
 
Globalización de la pobreza y nuevo orden mundial
Globalización de la pobreza y nuevo orden mundialGlobalización de la pobreza y nuevo orden mundial
Globalización de la pobreza y nuevo orden mundialpaulvt
 
100 job-search-tips (1)
100 job-search-tips (1)100 job-search-tips (1)
100 job-search-tips (1)Confidential
 
Jacqueline analuisa nivel propedeútico
Jacqueline analuisa nivel propedeúticoJacqueline analuisa nivel propedeútico
Jacqueline analuisa nivel propedeúticoyacque-1992
 
Living and Learning with New Media - Digital Youth Project
Living and Learning with New Media - Digital Youth ProjectLiving and Learning with New Media - Digital Youth Project
Living and Learning with New Media - Digital Youth ProjectGenaro Bardy
 
Dn11 u3 a17_igpc
Dn11 u3 a17_igpcDn11 u3 a17_igpc
Dn11 u3 a17_igpcaeson
 
Trabalho de cp Orientado pelo Prof.Dr. Nilo Sampaio (jessica lopes, laiane ca...
Trabalho de cp Orientado pelo Prof.Dr. Nilo Sampaio (jessica lopes, laiane ca...Trabalho de cp Orientado pelo Prof.Dr. Nilo Sampaio (jessica lopes, laiane ca...
Trabalho de cp Orientado pelo Prof.Dr. Nilo Sampaio (jessica lopes, laiane ca...Nilo Sampaio
 
La enfermedad de alzheimer
La enfermedad de alzheimerLa enfermedad de alzheimer
La enfermedad de alzheimerGinaira
 
Reunión padres (primer cuatrimestre 2011/2012)
Reunión padres (primer cuatrimestre 2011/2012)Reunión padres (primer cuatrimestre 2011/2012)
Reunión padres (primer cuatrimestre 2011/2012)Okidoki IR
 

Destaque (20)

Peer to-peer
Peer to-peerPeer to-peer
Peer to-peer
 
Proyecto de aula escuela rural renacer
Proyecto de aula escuela rural renacerProyecto de aula escuela rural renacer
Proyecto de aula escuela rural renacer
 
Libro digital
Libro digitalLibro digital
Libro digital
 
Sitios
SitiosSitios
Sitios
 
Natii
NatiiNatii
Natii
 
Filantrópicos
FilantrópicosFilantrópicos
Filantrópicos
 
Silabo informatica
Silabo informaticaSilabo informatica
Silabo informatica
 
Caso3m
Caso3mCaso3m
Caso3m
 
Limites
LimitesLimites
Limites
 
P cb-01
P cb-01P cb-01
P cb-01
 
Globalización de la pobreza y nuevo orden mundial
Globalización de la pobreza y nuevo orden mundialGlobalización de la pobreza y nuevo orden mundial
Globalización de la pobreza y nuevo orden mundial
 
100 job-search-tips (1)
100 job-search-tips (1)100 job-search-tips (1)
100 job-search-tips (1)
 
Media a2 evaluation
Media a2 evaluationMedia a2 evaluation
Media a2 evaluation
 
Jacqueline analuisa nivel propedeútico
Jacqueline analuisa nivel propedeúticoJacqueline analuisa nivel propedeútico
Jacqueline analuisa nivel propedeútico
 
Living and Learning with New Media - Digital Youth Project
Living and Learning with New Media - Digital Youth ProjectLiving and Learning with New Media - Digital Youth Project
Living and Learning with New Media - Digital Youth Project
 
Fusões & aquisições relatório final
Fusões & aquisições relatório finalFusões & aquisições relatório final
Fusões & aquisições relatório final
 
Dn11 u3 a17_igpc
Dn11 u3 a17_igpcDn11 u3 a17_igpc
Dn11 u3 a17_igpc
 
Trabalho de cp Orientado pelo Prof.Dr. Nilo Sampaio (jessica lopes, laiane ca...
Trabalho de cp Orientado pelo Prof.Dr. Nilo Sampaio (jessica lopes, laiane ca...Trabalho de cp Orientado pelo Prof.Dr. Nilo Sampaio (jessica lopes, laiane ca...
Trabalho de cp Orientado pelo Prof.Dr. Nilo Sampaio (jessica lopes, laiane ca...
 
La enfermedad de alzheimer
La enfermedad de alzheimerLa enfermedad de alzheimer
La enfermedad de alzheimer
 
Reunión padres (primer cuatrimestre 2011/2012)
Reunión padres (primer cuatrimestre 2011/2012)Reunión padres (primer cuatrimestre 2011/2012)
Reunión padres (primer cuatrimestre 2011/2012)
 

Mais de Artemisa Yescas Engler

Maestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus GuadalajaraMaestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus GuadalajaraArtemisa Yescas Engler
 
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...Artemisa Yescas Engler
 
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingReading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingArtemisa Yescas Engler
 
Reading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW InspectionsReading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW InspectionsArtemisa Yescas Engler
 
Reading Summary - Software Requirements + Characteristics of Well Written Req...
Reading Summary - Software Requirements + Characteristics of Well Written Req...Reading Summary - Software Requirements + Characteristics of Well Written Req...
Reading Summary - Software Requirements + Characteristics of Well Written Req...Artemisa Yescas Engler
 
Reading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationReading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationArtemisa Yescas Engler
 
Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum Artemisa Yescas Engler
 
Reading Summary - Teamwork + Team Structure + Configuration Management
Reading Summary - Teamwork + Team Structure + Configuration ManagementReading Summary - Teamwork + Team Structure + Configuration Management
Reading Summary - Teamwork + Team Structure + Configuration ManagementArtemisa Yescas Engler
 
Reading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles ModelsReading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles ModelsArtemisa Yescas Engler
 

Mais de Artemisa Yescas Engler (10)

Maestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus GuadalajaraMaestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
 
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
 
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingReading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
 
Reading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW InspectionsReading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW Inspections
 
Reading Summary - Software Requirements + Characteristics of Well Written Req...
Reading Summary - Software Requirements + Characteristics of Well Written Req...Reading Summary - Software Requirements + Characteristics of Well Written Req...
Reading Summary - Software Requirements + Characteristics of Well Written Req...
 
Reading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationReading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous Integration
 
Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum
 
Reading Summary - Teamwork + Team Structure + Configuration Management
Reading Summary - Teamwork + Team Structure + Configuration ManagementReading Summary - Teamwork + Team Structure + Configuration Management
Reading Summary - Teamwork + Team Structure + Configuration Management
 
Reading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles ModelsReading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles Models
 
About Node.js
About Node.jsAbout Node.js
About Node.js
 

Último

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Reading Summary - Lean Development + Software Modeling UML

  • 1. ************ Lean [POPPENDIECK-2003] Chapter 1, 2 ************************************************** Lean is: “A systematic approach to identifying and eliminating waste through continuous improvement, flowing the product at the pull of the customer in pursuit of perfection.” Lean is centered around preserving value with less work. Lean Software Development is the application of lean principles to the craft of software development. Just-in-time approach. Stop trying to maximize local efficiencies. Practice: Stop-the-Line culture. 1. Preoccupation with failure 2. Reluctance to simplify 3. Sensitivity to operations 4. Commitment to learn from mistakes 5. Deference to expertise The Toyota Product Development System, Four cornerstone elements: 1. System design by an entrepreneurial leader 2. Expert engineering workforce 3. Responsibility based planning and control 4. Self-based concurrent engineering Principles are underlying truths that don’t change over time or space, while practices are the application of principles to a particular situation. The learn-by-doing approach: Adopt a coherent set of practices with confidence that this will eventually lead to understanding of the principles behind them. Then there is an understand-before-doing approach: Understand the underlying principles, and use them to develop practices for specific situations. Software Embedded software is the part of a product that is expected to change. If it didn’t need to change, then it might as well be hardware. Development is the process of transforming ideas into products. Kanban is a method for managing the creation of products with an emphasis on continual delivery while not overburdening the development team. Seven Principles of Lean Software Development 1. Eliminate waste. A common agile development practice is the ‘retrospective’, which is the process of the team meeting after each short iteration to discuss what went well, what didn’t, and what could be done differently in the next iteration. This iterative process of learning and continual improvement is an important part of identifying waste and eliminating it. 2. Build quality in. There are quality assurance processes designed to avoid quality issues in the first place. Examples of this are Pair Programming, Test Driven Development, constant feedback and automation. Myth: The Job of Testing Is to Find Defects
  • 2. 3. Create Knowledge. Things to do to help create knowledge: Pair programming, code reviews, documentation, wiki, commented code, knowledge sharing sessions, training. Myth : Predictions Create Predictability 4. Defer Commitment. Decide as late as possible, particularly for decisions that are irreversible, or at least will be impractical to reverse. Architect the solution so that fewer commitments are irreversible. And defer commitment on irreversible decisions to the latest point possible. Myth: Planning Is Commitment 5. Deliver Fast. An effective organization doesn’t demand teams do more than they are capable of, but instead asks them to self-organize and determine what they can accomplish. Constraining these teams to delivering potentially shippable solutions on a regular basis motivates them to stay focused on continuously adding value. Myth: Haste Makes Waste 6. Respect People. The implication is that you need a lean governance strategy that focuses on motivating and enabling IT teams—not on controlling them. Myth: There Is One Best Way 7. Optimizing the whole. Must look at the bigger picture. Optimize the whole value stream, not just individual functions or teams. Myth: Optimize By Decomposition ************ Software Modeling - UML [FOWLER-2002] Chapter 3, 4, 10 ************************************ A class diagram describes the types of objects in the System and the various kinds of static relationships that exist among them. Class diagrams also show the properties and operations of a Class and the constraints that apply to the way objects are connected. The UML uses the term feature as a general term that covers properties and operations of a Class. Properties represent structural features of a Class. Properties are a single concept, but they appear in two quite distinct notations: attributes and associations. The attribute notation describes a property as a line of text within the class box itself. An association is a solid line between two classes, directed from the source class to the target class. The name of the property goes at the target end of the association, together with its multiplicity. The target end of the association links to the class that is the type of the property. The multiplicity of a property is an indication of how many objects may fill the property. The most common multiplicities you will see are  1 (An order must have exactly one customer.)  0..1 (A corporate customer may or may not have a single sales rep.)  *(A customer need not place an Order and there is no upper limit to the number of Orders a Customer may place-zero or more orders.)
  • 3. A bidirectional association is a pair of properties that are linked together as inverses. Operations are the actions that a class knows to carry out. An operation is something that is invoked on an object-the procedure declaration-whereas a method is the body of a procedure. Typical example of generalization involves the personal and corporate customers of a business. They have differences but also many similarities. The similarities can be placed in a general Customer class (the Supertype), with Personal Customer and Corporate Customer as subtypes. An important principle of using inheritance effectively is substitutability. I should be able to substitute a Corporate Customer within any Code that requires a Customer, and everything should work fine. Notes are comments in the diagrams. Notes can stand on their own, or they can be linked with a dashed line to the elements they are commenting A dependency exists between two elements if changes to the definition of one element (the supplier) may cause changes to the other (the client). Interaction diagrams describe how groups of objects collaborate in some behavior. The most common is the sequence diagram. A sequence diagram captures the behavior of a single scenario. The diagram shows a number of example objects and the messages that are passed between these objects within the use case. Centralized control, one participant does all the processing. Distributed control, processing is split among many participants, each doing a little bit.
  • 4. Both loops and conditionals use interaction frames, which are ways of marking off a piece of a sequence diagram. If a caller sends a synchronous message, it must wait until the message is done, such as invoking a subroutine. If a caller sends an asynchronous message, it can continue processing and doesn't have to wait for a response. You should use sequence diagrams when you want to look at the behavior of several objects within a single use case. Sequence diagrams are good at showing collaborations among the objects; they are not so good at precise definition of the behavior. State machine diagrams are a familiar technique to describe the behavior of a System. In object-oriented approaches, you draw a State machine diagram for a single class to show the lifetime behavior of a single object. States can react to events without transition, using internal activities: putting the event, guard, and activity inside the state box itself. An internal activity is similar to a self- transition: a transition that loops back to the same state. The entry activity is executed whenever you enter a states the exit activity, whenever you leave. However, internal activities do not trigger the entry and exit activities; that is the difference between internal activities and self-transitions.
  • 5. Several states share common transitions and internal activities. In these Gases, you can make them substates and move the shared behavior into a superstate. States can be broken into several orthogonal state diagrams that run concurrently. A state diagram can be implemented in three main ways: nested switch, state patterns and state tables. Stare diagrams are good at describing the behavior of an object across several use cases. Stare diagrams are not very good at describing behavior that involves a number of objects collaborating.