Engenharia de Software - Aula 16 - Gerenciamento de configurações (Parte 1)

UNIVESP
22 Sept 201718:52

Summary

TLDRProfessor Marcelo Fantinato's lecture on software engineering discusses configuration management, a critical aspect of software development. He explains that it involves combining different parts of software to create final products, managing versions, and releases. The lecture highlights the importance of tracking changes, integrating components, and ensuring that the final software configuration functions correctly. It also touches on change management processes, emphasizing the need for systematic handling of modifications to maintain control and deliver a quality product to the client.

Takeaways

  • 📚 The lecture is part of a software engineering course at UNIVESP, focusing on 'Configuration Management'.
  • 🔧 Configuration Management is not as intuitive as it seems and is related to the software development process rather than the end-user configuration of software.
  • 🔩 It involves combining different parts of the software to create a final product, which can be done in various configurations based on different versions of components.
  • 🛠️ The purpose of Configuration Management is to ensure that the integrated system works as intended and to maintain control over which version changes are incorporated into each system version.
  • 🔄 Integration and configuration testing are crucial to guarantee that the system functions properly after combining different parts.
  • 📈 Configuration Management includes activities such as version control, change management, and release management.
  • 🔄 Version control is a key aspect of Configuration Management, where each part of the system (code, components, databases, etc.) can have different versions that are combined to form a release.
  • 📝 A 'Release' is a version of the software that is delivered to the client, similar to the concept of 'version' but at the system level.
  • 🔧 Change Management involves a systematic process to handle changes in the software, triggered either by the discovery of defects or by client requests for modifications.
  • 🏢 The Change Control Board (CCB) plays a crucial role in evaluating, prioritizing, and approving or rejecting change requests based on cost-benefit analysis and impact on the system.
  • 📋 Tools are used to support the opening of change requests and the entire lifecycle of the change, from initiation to closure.

Q & A

  • What is the main topic of the 16th class of the software engineering discipline taught by Professor Marcelo Fantinato?

    -The main topic of the 16th class is 'Configuration Management' within the software engineering discipline of the computer engineering course at UNIVESP.

  • How does the speaker describe the initial perception of 'configuration management'?

    -The speaker describes the initial perception of 'configuration management' as something that is not very intuitive. It is often misunderstood as simply configuring software, but in the context of software engineering, it refers to the management of different parts of the software to form the final product.

  • What are 'configurations' in the context of software engineering?

    -In the context of software engineering, 'configurations' refer to different combinations of the various parts of the software. These configurations are used to assemble the final software product that is delivered to the client.

  • Why is configuration management important in software development?

    -Configuration management is important in software development to ensure that the final integrated system works as intended. It helps to control which versions of components are incorporated into each version of the system and prevents the loss of control over changes.

  • What are the three main activities involved in configuration management?

    -The three main activities involved in configuration management are version control, change management, and release management.

  • What is an 'item of configuration' according to the speaker?

    -An 'item of configuration' is any part of the system that can have different versions and that is worked on during development. These items are combined to form a release for the client.

  • What is the process when a change is needed in the software?

    -When a change is needed in the software, a Change Request (CR) is submitted. This request is then analyzed by the development team to determine its validity and impact. A Change Control Board (CCB) evaluates the change, considering factors like cost-benefit analysis, and makes a decision to approve or reject the change.

  • What role does the Change Control Board (CCB) play in configuration management?

    -The Change Control Board (CCB) is responsible for reviewing and evaluating the proposed changes to decide what will be included in the system. They consider the consequences, impact, benefits, and costs of making or not making the change.

  • How are changes in software development managed systematically?

    -Changes in software development are managed systematically through a process that includes registering change requests, analyzing their impact, evaluating them, and making decisions based on cost-benefit analysis. Tools are used to support the opening of change requests and the entire lifecycle of the change.

  • What is a 'release' in the context of software delivery to clients?

    -A 'release' is a version of the software that is made available to clients. It is similar to the concept of a version but refers to the entire system rather than individual components.

  • What are the two main reasons for changes in software development?

    -The two main reasons for changes in software development are the correction of defects, identified either by developers or testers, and requests from the client for the system to be different, not due to a defect but due to a change in requirements or ideas.

Outlines

00:00

📚 Introduction to Configuration Management

This paragraph introduces the topic of configuration management within software engineering. The speaker, Professor Marcelo Fantinato, begins by contextualizing the subject within the curriculum of the computer engineering course at UNIVESP. He explains that configuration management is a concept that might be familiar from previous lessons on the software engineering lifecycle. The professor emphasizes that configuration management is not as straightforward as it seems, as it involves more than just configuring software settings. Instead, it's about managing different versions and components of software during the development process to create final products for clients. The importance of this management is highlighted in scenarios where multiple developers work on different parts of a large software project, necessitating careful integration of various components to ensure the final product functions correctly.

05:00

🔄 Overview of Configuration Management Activities

In this paragraph, the speaker delves deeper into the activities involved in configuration management. He outlines three main aspects: version management, change management, and release management. The professor explains that version management is about keeping track of different versions of software components, while change management involves documenting and controlling changes to the system, whether due to defects or client requests for modifications. The speaker also introduces the concept of a 'release', which is a version of the software delivered to clients. He contrasts this with the concept of 'version', which refers to individual components within the system. The importance of a systematic approach to handling changes is emphasized, to prevent losing control over which changes are incorporated into each system version. The paragraph also touches on the terminology used in configuration management, such as 'configuration item' and 'release', and mentions the use of tools to support the change management process.

10:03

🔧 Change Management Process and Decision-Making

This paragraph focuses on the process of change management within configuration management. The speaker describes the steps involved when a change is requested, such as when a tester identifies a defect or a client requests a modification. The process begins with the submission of a change request (CR), which is then reviewed by the development team. The development team assesses the feasibility and impact of the proposed change, considering factors like the time required for implementation and potential effects on other system components. If the change is deemed valid and beneficial, it is passed on to a change control board (CCB), which makes a collective decision on whether to approve or reject the change. The paragraph highlights the importance of a structured approach to managing changes, as it helps maintain control over the software development process and ensures that changes are made in a controlled and justified manner. The CCB's role is crucial in evaluating the cost-benefit analysis of each change, considering the consequences of not implementing the change, the benefits of making the change, and the costs associated with it. The speaker also mentions the use of tools to support the entire lifecycle of a change request, from submission to decision-making and implementation.

15:04

🚀 Conclusion and Preview of Upcoming Topics

In the final paragraph, the speaker concludes the discussion on change management and provides a brief preview of upcoming topics. He summarizes the key points made about the structured process of handling changes in software development, emphasizing the importance of the change control board's decisions in maintaining the integrity and functionality of the software system. The speaker also mentions that the next lecture will cover the release of versions and the management of distribution networks. This paragraph serves to wrap up the current lesson and set the stage for further learning, encouraging students to continue exploring the complexities of software engineering and configuration management.

Mindmap

Keywords

💡Software Engineering

Software Engineering refers to the application of engineering principles to software development, which includes designing, developing, testing, and maintaining software systems. In the context of the video, the professor is teaching a course on software engineering and discussing the importance of configuration management within this field.

💡Configuration Management

Configuration Management is the process of tracking and controlling changes to software configurations throughout the software development lifecycle. It ensures that all components of a system are properly integrated and that the final product meets the client's requirements. In the video, the professor emphasizes the importance of configuration management in software development and how it helps in managing different versions and parts of software to create a final product.

💡Lifecycle

Lifecycle refers to the series of stages that a project or product goes through from its inception to its retirement. In software engineering, the lifecycle includes stages such as planning, analysis, design, development, testing, deployment, and maintenance. The video script mentions the 'ciclo de vida de engenharia de software', highlighting the professor's discussion on the software engineering lifecycle and the role of configuration management within it.

💡Components

In software development, components refer to the individual parts or modules that make up a larger software system. These can be code libraries, classes, functions, or any other reusable piece of software. The video discusses how different versions of components are managed and combined to form various configurations of the final software product.

💡Release

A release in software development is a version of the software that is made available to users or clients. It represents a collection of configurations or components that have been integrated and tested to form a functional and stable product. The video script uses the term 'release' to describe the final product that is delivered to the client after effective configuration management.

💡Version Control

Version control is a system that manages new versions of files and directories, typically used in the software industry to manage changes to source code over time. It allows developers to track every modification to the code and revert changes if necessary. In the context of the video, version control is a fundamental aspect of configuration management, ensuring that changes to software components are recorded and can be managed effectively.

💡Change Management

Change management is the process of tracking and controlling changes to a system or product. It involves documenting, assessing, and approving or rejecting changes based on predefined criteria. In the video, change management is a key component of configuration management, ensuring that any modifications to the software are properly evaluated and integrated.

💡Integration Testing

Integration testing is a type of software testing that focuses on verifying that the different modules or components of a software application work together correctly once they are combined. It is an essential step in the software development process to ensure that the final product functions as intended. In the context of the video, integration testing is mentioned as a practice that helps confirm the functionality of the system after configurations have been integrated.

💡Change Control Board (CCB)

A Change Control Board (CCB) is a group of individuals who are responsible for reviewing, evaluating, and approving or rejecting changes to a project or system. The CCB ensures that changes are properly managed and that the impact of changes is assessed before they are implemented. In the video, the CCB plays a critical role in the change management process, making decisions on whether to approve changes based on their potential impact and cost-benefit analysis.

💡Cost-Benefit Analysis

Cost-benefit analysis is a process to estimate the potential costs and benefits of a proposed action or decision, such as making a change to a software system. It helps in determining whether the benefits of the change outweigh the costs involved. In the context of the video, cost-benefit analysis is used by the CCB to make informed decisions on whether to approve changes, considering both the potential benefits and the costs of implementation.

💡Release Management

Release management is the process of planning, scheduling, and controlling the delivery of a software release to ensure that it is stable and meets the requirements defined for deployment. It involves coordinating the efforts of various teams and managing the configuration items that make up the release. In the video, release management is a part of configuration management that focuses on delivering a final product to the client by integrating and testing different configurations.

Highlights

Introduction to the topic of configuration management in software engineering.

Configuration management is not as intuitive as it seems and is often misunderstood.

The concept of software configurations involves combining different parts of the software to create a final product.

Different configurations can be created by combining different versions of software components.

The importance of configuration management in large and complex software development projects.

Configuration management ensures that the integrated system functions as intended.

The role of integration and configuration testing in verifying the functionality of the system.

Overview of the activities involved in configuration management, including version control and change management.

Explanation of the term 'item of configuration' and its significance in software development.

The concept of 'version' in the context of software components and its role in tracking changes.

Introduction to 'release' as a term in software delivery to clients.

The process of managing changes in software, including the reasons for changes and the steps involved.

The role of the Change Control Board (CCB) in deciding which changes to implement.

The importance of cost-benefit analysis when considering whether to implement changes.

The use of tools to support the lifecycle of change requests in software development.

The impact of not addressing changes on the software development process.

The conclusion of the lecture and a preview of the next topic: version release and network management.

Transcripts

play00:00

[Música]

play00:07

o

play00:07

[Música]

play00:13

olá eu sou professor marcelo fantinato

play00:16

esta disciplina de engenharia de

play00:17

software do curso de engenharia da

play00:19

computação da univesp

play00:21

vamos agora com aula número 16 vamos

play00:24

tratar de gerenciamento de configurações

play00:27

serão duas aulas essa é a primeira parte

play00:30

do assunto gerenciamento de

play00:32

configurações a não sei se vocês já é

play00:37

foram introduzidos a esse tema

play00:38

gerenciamento de configurações

play00:41

eu acredito que talvez vocês se lembrem

play00:43

um pouco na primeira primeiro segunda

play00:46

aula em que eu apresentei para vocês uma

play00:48

visão geral do ciclo de vida de

play00:50

engenharia de software pelo menos um dos

play00:53

modelos que era o modelo do processo

play00:55

unificado mencionava essa atividade de

play00:58

gerenciamento de configurações

play01:01

então agora nessa aula nós vamos é ter

play01:04

uma visão um pouco mais informações a

play01:07

respeito do gerenciamento de

play01:08

configurações o nome gerenciamento de

play01:11

configurações um primeiro momento que a

play01:13

gente se depara com ele ele me parece

play01:16

que ele não é uma coisa tão a tão

play01:20

intuitiva da gente pensar o que

play01:22

significa porque normalmente a gente

play01:24

pensa que configuração quem quem

play01:27

trabalha com software que trabalha com

play01:29

tiê pensa logo em configuração com o

play01:33

software pronto e esse software é

play01:35

configurável nós podemos ir lá

play01:37

configurar para deixar o software mais

play01:39

um jeito ou mais de outro jeito para o

play01:42

software fazer assim o software fazer de

play01:44

um outro jeito e isso a gente pensa em

play01:46

configuração do software na verdade é

play01:49

que o gerenciamento de configurações é

play01:51

um gerenciamento que acontece durante o

play01:53

desenvolvimento do software claro nós

play01:55

estamos falando do ciclo de

play01:57

desenvolvimento da engenharia de

play01:58

software

play01:59

então o que é esse gerenciamento de

play02:02

configurações o que seriam configurações

play02:05

de software configurações aqui nesse

play02:08

contexto são diferentes configurações do

play02:12

software são diferentes formas de você

play02:16

juntar partes do software para montar um

play02:20

software final

play02:22

então você tem diferentes partes do

play02:24

software perdidas por aí como é que

play02:26

vocês 1

play02:27

dessas partes para montar o software

play02:29

final para entregar o cliente por

play02:31

exemplo é isso a gente chama de

play02:35

diferentes configurações então por

play02:37

exemplo você pode ter diferentes versões

play02:38

de um componente é diferentes versões de

play02:43

um outro componente e você pode querer

play02:47

falar formar diferentes configurações

play02:49

você pode querer pegar a versão mais

play02:51

nova desse componente a versão mais

play02:53

antiga desse componente junta e isso é

play02:56

uma configuração você pega todas as

play02:59

versões mais novas junta isso é uma

play03:01

configuração ou vocês um pega todas as

play03:04

versões mais antigas junta isso é uma

play03:06

outra configuração então diferentes

play03:08

configurações de um software são

play03:11

diferentes combinações das diferentes

play03:14

partes que você tem do software

play03:17

então essa é a ideia de quando a gente

play03:20

fala configurações do software

play03:25

por isso a gente precisa se preocupar

play03:27

com o gerenciamento dessas configurações

play03:30

imaginem vocês uma equipe muito grande

play03:34

uma empresa muito grande muitas pessoas

play03:36

desenvolvendo um software muito grande

play03:39

muito complexo e aí essas pessoas

play03:42

começam a desenvolver o software você

play03:44

separa cada pessoa fica responsável por

play03:46

uma parte por um componente essas

play03:49

pessoas começam a desenvolver diferentes

play03:51

versões

play03:52

e aí se você não tem um bom

play03:54

gerenciamento disso você tem que gerar

play03:57

uma versão para entregar para o cliente

play03:59

e que partes você vai juntar uma pessoa

play04:04

um grupo trabalhou e se adiantou e já tá

play04:07

numa versão lá na frente um outro grupo

play04:09

está mais atrás será que você consegue

play04:11

pegar a má a versão mais atualizada de

play04:14

cada grupo elas vão necessariamente se

play04:16

conversar ou você tem que pegar outras

play04:19

determinadas versões para poder

play04:21

conversar é de repente você pega junta

play04:24

determinadas versões de diferentes

play04:26

componentes e o sistema não funciona

play04:29

então você tem que ter um bom

play04:31

gerenciamento da de configurações

play04:33

justamente para que você garanta que o

play04:37

seu sistema quando totalmente integrado

play04:40

aquela configuração que você escolheu

play04:43

das diferentes partes realmente funcione

play04:46

por isso inclusive que existe testes de

play04:47

integração e testes de configuração para

play04:50

você garantir que o seu sistema ele

play04:53

realmente funciona ou seja você não quer

play04:55

perder o controle de quais mudanças de

play04:58

versões de componentes foram

play05:00

incorporadas em cada versão do sistema

play05:03

aqui tem uma uma figura que tenta então

play05:06

é generalizar quais são as atividades do

play05:11

gerenciamento de configurações a gente

play05:13

chama gerenciamento de configuração de

play05:15

uma forma geral mas eu já falei muito

play05:18

diversões porquê porque existe um

play05:20

gerenciamento de versões dentro do

play05:23

gerenciamento de configurações

play05:25

eu já falei que a gente não quer perder

play05:26

o controle de mudanças porque existe o

play05:29

gerenciamento de mudanças dentro do

play05:32

gerenciamento de configurações e hoje eu

play05:35

falei muito também em juntar tudo porque

play05:39

a gente tem que ir junto fazer um

play05:40

software montar um software integrar um

play05:42

software para entregar o cliente essa e

play05:46

software que a gente quer entregar para

play05:47

o cliente é o que ele chama de uma

play05:49

release uma liberação em português mas a

play05:53

gente costuma usar muito o nome em

play05:55

inglês que lhes é cada um é livre para a

play05:59

liberação que a gente faz a entrega para

play06:01

o cliente tem que ser gerenciada por

play06:03

isso que a terceira atividade aqui do

play06:06

gerenciamento de configuração é o

play06:08

gerenciamento de felizes então o

play06:11

gerenciamento de configurações

play06:13

ele é dividido no gerenciamento de

play06:14

mudança gerenciamento diversões e

play06:17

gerenciamento de brindisi a aqui nós

play06:22

temos uma série de nomenclaturas

play06:26

terminologia do gerenciamento de

play06:28

mudanças de gerenciamento de

play06:32

configurações de uma forma geral a o

play06:35

item de configuração

play06:38

o que é o item de configuração é o que

play06:40

eu tenho chamado de cada parte né eu não

play06:43

tinha para usado ainda hoje o termo

play06:45

itens de configuração porque ainda não

play06:47

tinha apresentado ele formalmente aqui

play06:49

mas cada parte do sistema que pode ter

play06:52

diferentes versões e que depois

play06:54

eu vou juntar tudo isso para formar uma

play06:56

release para mandar para o cliente

play06:58

cada uma dessas partes seja um código um

play07:01

componente uma classe ou mesmo um banco

play07:05

de dados uma tabela do banco de dados ou

play07:08

até mesmo um componente de hardware ou

play07:11

seja qualquer parte do do meu sistema

play07:14

como um todo que eu vou poder ver se o

play07:17

nar e trabalhar no desenvolvimento eu

play07:20

chamo isso de um item de configuração e

play07:23

aqui eu vou ter alguns outros itens que

play07:25

eles ainda vão aparecer

play07:27

é nos próximos slides então não vou

play07:29

apresentar a tecnologia agora porque com

play07:32

o exemplo vai ficar mais claro mas assim

play07:35

versão é uma coisa aqui pra vocês já é

play07:37

claro na versão 1 234 1.1.2 1.3 tudo a

play07:44

gente pode ver se tornar cada vez que a

play07:46

gente faz uma alteração beise lime é um

play07:49

conceito que a gente vai ver daqui a

play07:51

pouco talvez vocês já conheçam esse

play07:54

conceito ou vocês se vocês não conhecem

play07:56

muito provável que vocês já ouviram

play07:58

falar em beijos laine em algum momento

play08:01

com laine man laine vocês talvez não

play08:06

tenha ouvido falar mas é um conceito uma

play08:09

tecnologia bastante usado em

play08:10

gerenciamento de configuração release

play08:13

então eu já adiantei pra vocês né o que

play08:16

é uma release é uma versão do software

play08:20

que você faz você libera para os

play08:24

clientes

play08:25

então é similar ao conceito de versão né

play08:30

mas a versão a gente costuma dizer em

play08:34

cima de um item de configuração cada

play08:36

pedacinho do sistema tem a sua versão

play08:40

agora quando a gente pensa no sistema

play08:42

como um todo

play08:44

a versão do sistema a gente costuma

play08:46

chamar de um livre e não diversão mas a

play08:49

ideia é basicamente a mesma espaço de

play08:52

trabalho um grante omerj mim é isso a

play08:57

gente ainda vai ver daqui a pouco mas

play08:59

são termos que sempre aparecem quando

play09:02

nós estamos falando do gerenciamento de

play09:04

configuração

play09:06

começando com gerenciamento de mudanças

play09:09

o que é o gerenciamento de mudanças

play09:11

gerenciamento de mudança é aquela ideia

play09:13

play09:14

o software está em desenvolvimento e por

play09:17

algum motivo algo precisa ser mudado em

play09:20

geral por dois principais motivos um

play09:24

deles é alguém pegou um erro né

play09:28

alguém um testador por exemplo o

play09:30

testador e ele está testando e ele fez o

play09:34

trabalho dele direito ele conseguiu

play09:37

identificar que existe um erro no

play09:39

sistema não foi feito da forma correta

play09:41

então esse erro precisa ser corrigido

play09:45

na verdade sendo mais por isso eu vou

play09:48

ainda falar sobre isso mais pra frente

play09:49

mas na verdade ele detectou uma falha no

play09:53

sistema causado por um defeito então

play09:56

esse defeito precisa ser corrigido

play09:59

pra isso ele relata é o a ocorrência da

play10:03

falha é e pra isso então a gente disse

play10:07

que ele ele solicita uma correção

play10:09

uma é do defeito há um outro motivo que

play10:14

precisa de uma mudança é o cliente

play10:17

decidiu que ele quer que o sistema seja

play10:19

diferente não é um defeito não está

play10:21

falhando ele só quer que seja diferente

play10:23

ele pode ter mudado de idéia não era eu

play10:27

sei que eu tinha pedido desse jeito mas

play10:28

mudei de ideia ou assim que vocês

play10:33

entenderam na verdade o que eu quis

play10:35

dizer foi outra coisa desculpa me

play10:36

expressei bem eu acho que me expressei

play10:37

mal enfim não está errado

play10:40

só que não era exatamente isso que eu

play10:41

queria ou não tá errado mas eu mudei de

play10:44

ideia enfim outro tipo de mudança mas

play10:48

não importa sempre que alguma coisa

play10:50

precisa mudar

play10:51

se você está pensando num processo

play10:54

muita gente envolvida e você não pode

play10:57

simplesmente chegar lá e falar mano isso

play10:58

aí pra mim porque você vai perder o

play11:00

controle é nós estamos pensando num

play11:03

processo sistemático de mudanças

play11:06

esse processo sistemático requer que

play11:08

você registre isso de uma forma de

play11:11

alguma forma ou seja alguém no caso aqui

play11:14

o pente mas o cliente do processo esse

play11:17

cliente pode ser o testador por exemplo

play11:19

ele submete o que nós estamos falando

play11:21

aqui de uma cr uma fé é uma ting request

play11:26

é uma solicitação de mudança

play11:29

néné nós costumamos usar o termo a sigla

play11:32

em inglês fr por conta é só porque é o a

play11:36

sigla usada é em geral

play11:39

mundialmente então alguém submete essas

play11:41

e r que vai para o banco de dados de

play11:45

solicitações de mudança alguém do lado

play11:49

da equipe de desenvolvimento verifica

play11:53

aquela cr e pode chegar à conclusão de

play11:55

que aquela serra não faz sentido nenhuma

play11:57

o cliente se confundiu na verdade já é

play12:01

do jeito que ele quer

play12:02

ou na verdade o que ele pediu ele não

play12:05

faz sentido porque ele está pedindo uma

play12:07

coisa conversamos só de conversar com

play12:10

ele ele já percebeu que ele sonhou com

play12:13

uma coisa que não faz o menor sentido

play12:15

não sei enfim é não faz sentido ou o

play12:19

testador disse que tem um defeito mas

play12:21

com uma falha mas na verdade o testador

play12:23

se equivocou

play12:25

enfim a cr pode ser declarada inválida e

play12:28

jóia fechada desde o início ou não

play12:31

realmente o problema existe realmente o

play12:34

cliente está pedindo uma coisa que é

play12:36

válido

play12:37

ok é válido passou pela primeira pelo

play12:41

primeiro filtro aí vai para a equipe de

play12:43

desenvolvimento propriamente dito a

play12:45

equipe desenvolvimento fala

play12:47

bom se for pra gente fazer essa

play12:49

alteração vamos analisar né

play12:52

quanto tempo vai demorar o que mais eu

play12:56

vou ter que alterar por conta disso será

play12:58

que vai impactar outras coisas então é

play13:00

feita uma análise fazendo uma análise

play13:02

eles passam por um grupo que vai pegar

play13:07

todas as solicitações que foram

play13:09

solicitadas para poder avaliar avaliou

play13:13

que a equipe de desenvolvimento disse

play13:15

olha eu pra fazer essa alteração eu

play13:18

preciso de shiva horas estes dias para

play13:21

alterar isso eu vou ter que alterar

play13:22

outras partes do sistema enfim avalia

play13:26

todas as alterações situações que foram

play13:28

solicitadas e seleciona aquelas que

play13:31

realmente eles vão

play13:32

provar para que seja mudada algumas não

play13:36

vão ser ao som é aprovado e vão ser

play13:38

encerradas

play13:39

mesmo que o cliente pediu ou que o

play13:42

testador encontrou um problema mesmo

play13:45

centeno sentido fazendo sentido alguém

play13:49

vai chegar vai dizer não não vai ser

play13:50

feito ao aquelas que passarem pelo pelo

play13:54

comitê aqui e dizer foi dito ok vocês

play13:58

podem alterar

play13:59

aí sim vem aqui pra equipe de

play14:01

desenvolvimento de volta que modifica

play14:04

fazendo a modificação testa

play14:06

se falhou volta fica fazendo o teste até

play14:10

que passa uma vez que passou encerra a

play14:13

cr agora porque algumas não são

play14:17

aprovadas como assim

play14:19

o cliente pediu e você a empresa não vai

play14:21

fazer

play14:22

como assim o testador pegou uma falha e

play14:24

não vai ser corrigido

play14:26

bom você pode ter é diferentes motivos

play14:31

pra que você não vai autorizar né quem

play14:35

eu quem não vai autorizar o que nós

play14:37

chamamos de perceber que é o que é o ccb

play14:42

é o comitê de controle de alterações em

play14:45

inglês cheidde contra o borges é o grupo

play14:48

de desenvolvimento de produto é aquele

play14:50

grupo que é responsável por definir o

play14:53

que entra o que não entra no sistema é

play14:56

esse grupo ele tem que levar em

play14:59

consideração por exemplo quais as

play15:01

consequências de não fazer aquela

play15:03

mudança

play15:04

qual vai ser o impacto se aquela mudança

play15:06

não foi feita

play15:07

quais os benefícios da mudança é quais

play15:11

os custos da mudança ou seja uma questão

play15:13

custo-benefício porque o desenvolvimento

play15:17

de software desenvolvimento de sistema

play15:19

não é uma coisa calma tranquila que a

play15:22

fim não fazer o que o cliente que é

play15:24

assim vamos corrigir aquele defeito

play15:28

a coisa é muito rápida muito dinâmica

play15:30

muito estressante muito gostosa então

play15:34

você pegou um defeito o testador pegou

play15:37

uma falha ok mas às vezes o impacto dela

play15:41

é muito pequeno ea o curso disse

play15:45

resolver é muito grande então não vale a

play15:47

pena por outro lado às vezes o custo de

play15:50

resolver é muito pequeno impacto é muito

play15:53

grande e é claro que vai ser resolvido

play15:55

então o comitê vai fazer análise de

play15:58

custo benefício ea mesma coisa do lado

play16:00

do cliente

play16:01

às vezes o cliente pediu a seria legal

play16:04

ou não eu preciso disso com certeza

play16:07

então diferentes análises vão ser feitas

play16:10

para que se tome uma decisão é e aqui só

play16:14

pra fechar um exemplo de um formulário

play16:17

em geral e ser feito através de

play16:19

ferramentas ferramentas que dão suporte

play16:21

à abertura de solicitações de mudança ea

play16:27

todo o ciclo de vida dessa mudança então

play16:31

você uma determinada pessoa abre uma

play16:35

solicitação num determinado dia ele

play16:37

disse qual é o problema é uma pessoa

play16:41

fica responsável por fazer a análise do

play16:43

problema ele diz que aquele problema

play16:46

está associado a uma a aquela mudança

play16:50

vai impactar um outro componente ele faz

play16:53

uma avaliação e disse é simples você é

play16:55

complexo é ele diz qual é a prioridade

play16:58

no caso aqui nesse exemplo ilustrativo a

play17:01

prioridade é média quanto esforço ele

play17:04

acha que vai precisar em duas horas ele

play17:06

acha que aquela alteração é feita e aí o

play17:09

tal do ccb toma uma decisão com base em

play17:13

tudo isso ele tomou uma decisão numa

play17:15

data tal e qual foi a decisão aceitou a

play17:17

alteração ok bom dado que em duas horas

play17:21

você faz

play17:22

dado que a prioridade é média dado que é

play17:25

simples

play17:26

ok a gente autoriza pode fazer e é pra

play17:29

entrar na rua e nise 1.2 e aí aqui daqui

play17:33

para baixo ainda não está preenchido por

play17:36

que só está autorizado agora alguém

play17:39

ainda vai fazer a alteração vai testar

play17:41

vai à provável é fechar por enquanto

play17:44

está parado aqui enfim geralmente uma

play17:46

ferramenta é dar suporte a isso

play17:50

isso então foi o gerenciamento de

play17:53

mudanças dentro do gerenciamento de

play17:55

configuração

play17:56

na próxima aula a gente ainda vai tratar

play17:58

o ser

play17:58

lançamento de versões e o gerenciamento

play18:01

de redes

play18:02

obrigado

play18:05

[Música]

play18:14

o

play18:24

[Música]

play18:34

[Música]

play18:42

[Música]

play18:48

ano

play18:48

[Música]

Rate This

5.0 / 5 (0 votes)

Related Tags
SoftwareEngineeringConfigurationManagementVersionControlChangeManagementReleaseProcessDevelopmentLifecycleProfMarceloFantinoatoUNIVESPEducationTechIndustry