Engenharia de Software - Aula 01 - Modelos de processo de software e atividades de software

00:22:41
https://www.youtube.com/watch?v=kO1PSkzTsYc

Résumé

TLDRA video aula do professor Marcelo Fantinato apresenta uma visão geral sobre o modelo de processo de software e as atividades envolvidas no desenvolvimento de software. Ele discute a importância de seguir diferentes modelos de processos, dependendo das necessidades de cada organização. O professor também aborda a evolução histórica dos modelos de software, desde os anos 70 até os métodos ágeis atuais, e define o que é software, seus atributos de qualidade e as principais atividades da engenharia de software. Além disso, ele menciona a diferença entre engenharia de software e ciência da computação, e apresenta modelos tradicionais como o modelo cascata, incremental e orientado a reuso.

A retenir

  • 👨‍🏫 Professor Marcelo Fantinato apresenta a disciplina.
  • 📚 O modelo de processo de software é fundamental no desenvolvimento.
  • 🔄 Existem diferentes modelos de processos de software.
  • 📈 A evolução histórica dos modelos é importante para entender o contexto.
  • 🛠️ O software inclui não apenas programas, mas também documentação.
  • ✅ A qualidade do software é medida por vários atributos.
  • 🔍 A engenharia de software foca na prática, enquanto a ciência da computação na teoria.
  • 🔄 O modelo cascata é sequencial, enquanto o incremental permite revisões.
  • 🧩 Componentes de software podem ser reutilizados para eficiência.
  • 🌐 A internet trouxe mudanças significativas na engenharia de software.

Chronologie

  • 00:00:00 - 00:05:00

    O professor Marcelo Fantinato introduz a disciplina de engenharia de software, abordando o modelo de processo de software e suas atividades. Ele destaca que diferentes organizações podem seguir diferentes modelos de desenvolvimento, dependendo de suas necessidades e tamanhos. O vídeo também menciona a evolução histórica dos modelos de software, desde os anos 70 até os métodos ágeis atuais, e a importância de entender o que é software, incluindo a documentação associada.

  • 00:05:00 - 00:10:00

    O professor discute os atributos que definem um bom software, como funcionalidade, desempenho, confiabilidade, facilidade de manutenção e usabilidade. Ele também apresenta uma definição de engenharia de software, que abrange todos os aspectos da produção de software, e diferencia a engenharia de software da ciência da computação, enfatizando o foco prático da primeira em comparação com a teoria da segunda.

  • 00:10:00 - 00:15:00

    O vídeo detalha as principais atividades da engenharia de software, que incluem especificação, desenvolvimento, validação e evolução do software. O professor menciona que os nomes dessas atividades podem variar entre diferentes autores e livros, mas a ideia central permanece a mesma. Ele também introduz os principais modelos de processo de software, como o modelo cascata, incremental e orientado a reuso, explicando suas características e evolução ao longo do tempo.

  • 00:15:00 - 00:22:41

    Por fim, o professor explica que o processo de software envolve várias atividades interligadas, desde a coleta de requisitos até a implementação e testes. Ele destaca a importância de validar os requisitos com o cliente e a necessidade de evoluir o software após a entrega. O vídeo conclui com a promessa de explorar mais detalhadamente cada uma dessas etapas nas próximas aulas.

Afficher plus

Carte mentale

Vidéo Q&R

  • O que é engenharia de software?

    É uma disciplina que se preocupa com todos os aspectos da produção de software.

  • Quais são as principais atividades da engenharia de software?

    Especificação, desenvolvimento, validação e evolução do software.

  • Qual a diferença entre engenharia de software e ciência da computação?

    A ciência da computação foca na teoria e fundamentos, enquanto a engenharia de software se preocupa com o lado prático do desenvolvimento.

  • Quais são os modelos de processo de software mencionados?

    Modelo cascata, incremental e orientado a reuso.

  • O que caracteriza o modelo cascata?

    É um modelo onde as etapas de desenvolvimento são sequenciais, como uma cascata.

  • O que é o desenvolvimento incremental?

    Um modelo onde o software é desenvolvido em versões, permitindo revisões e melhorias ao longo do processo.

  • O que são componentes de software?

    Partes prontas do desenvolvimento de software que podem ser reutilizadas para construir novos sistemas.

  • Quais atributos são importantes para um bom software?

    Funcionalidade, desempenho, confiabilidade, facilidade de manutenção e usabilidade.

  • Como a internet influenciou a engenharia de software?

    A criação da internet trouxe uma evolução significativa na forma como o software é desenvolvido.

  • Qual a importância da documentação no software?

    A documentação é parte essencial do software, incluindo manuais e especificações.

Voir plus de résumés vidéo

Accédez instantanément à des résumés vidéo gratuits sur YouTube grâce à l'IA !
Sous-titres
pt
Défilement automatique:
  • 00:00:00
    [Música]
  • 00:00:07
    o olá eu sou professor marcelo fantinato
  • 00:00:16
    é ter disciplina de engenharia de
  • 00:00:18
    software do curso de engenharia da
  • 00:00:19
    computação da univesp
  • 00:00:21
    nós vamos agora começar com a vídeo aula
  • 00:00:23
    número 1
  • 00:00:25
    o assunto é modelo de processo de
  • 00:00:28
    software e atividades de software
  • 00:00:31
    então nessa primeira videoaula nós vamos
  • 00:00:33
    começar com uma visão geral de todas as
  • 00:00:36
    etapas que nós podemos ter durante o
  • 00:00:39
    desenvolvimento de software de uma forma
  • 00:00:43
    sistemática que nós temos dentro do
  • 00:00:45
    conceito de engenharia de software então
  • 00:00:48
    nós vamos pensar no processo de software
  • 00:00:51
    de uma forma geral
  • 00:00:52
    e esse processo então ele é composto de
  • 00:00:55
    um conjunto de atividades de software
  • 00:00:57
    mas note que existe aqui uma palavra
  • 00:00:59
    chamada modelos de processos de software
  • 00:01:02
    que significa isso significa que um
  • 00:01:05
    processo de software ele pode seguir
  • 00:01:07
    diferentes modelos então modelos
  • 00:01:10
    eles são usados aqui como exemplos de
  • 00:01:13
    como um processo de software pode se
  • 00:01:15
    organizar
  • 00:01:16
    isso porque por que diferentes empresas
  • 00:01:18
    diferentes organizações diferentes
  • 00:01:22
    grupos de pessoas podem seguir
  • 00:01:24
    diferentes formas de desenvolver
  • 00:01:27
    software algumas alguns grupos menores
  • 00:01:30
    pode tentar fazer uma coisa mais
  • 00:01:32
    simplificada outras empresas maiores
  • 00:01:35
    pode tentar fazer uma coisa mais
  • 00:01:36
    sistemática para tentar colocar ordem em
  • 00:01:39
    muitas pessoas fazendo coisas diferentes
  • 00:01:41
    então não pode ser uma coisa muito
  • 00:01:45
    improvisada tem que ser uma coisa
  • 00:01:47
    bastante ordenada é uma empresa muito
  • 00:01:51
    grande dividida em diferentes cidades ou
  • 00:01:53
    até mesmo diferentes países têm que
  • 00:01:55
    trabalhar de uma forma ou outra uma
  • 00:01:58
    empresa pequena no na garagem de casa
  • 00:02:02
    pode ter que trabalhar querer trabalhar
  • 00:02:04
    de outra forma então cada empresa cada
  • 00:02:07
    um grupo de pessoas pensa ou quer
  • 00:02:10
    trabalhar ou ver que a melhor forma de
  • 00:02:12
    trabalhar para desenvolver software é
  • 00:02:14
    diferente da outra elas então seguem
  • 00:02:16
    modelos diferentes
  • 00:02:19
    como desenvolver software de forma
  • 00:02:21
    diferente e esses modelos
  • 00:02:23
    esses exemplos eles evoluíram
  • 00:02:27
    historicamente com o passar do tempo é
  • 00:02:31
    historicamente eles evoluíram
  • 00:02:33
    então lá na década de 70 por exemplo
  • 00:02:36
    quando começaram a surgir as primeiras
  • 00:02:38
    empresas que ligou de um software elas
  • 00:02:41
    pensavam em fazer software de uma
  • 00:02:42
    determinada forma
  • 00:02:44
    com o passar do tempo elas foram
  • 00:02:45
    pensando na onu uma outra forma de fazer
  • 00:02:47
    assim ao melhor sabe assim tanto que
  • 00:02:50
    recentemente então nós temos o que são
  • 00:02:53
    chamados métodos ágeis que é o que eu
  • 00:02:55
    comentei na aula de apresentação na
  • 00:02:58
    apresentação desta disciplina
  • 00:03:00
    então eu vou chegar lá também há mas
  • 00:03:02
    antes disso é a nós tenhamos eu vou
  • 00:03:05
    apresentar para vocês aqui meio que o
  • 00:03:07
    histórico de quais são as formas os
  • 00:03:10
    modelos de processos de software e não é
  • 00:03:12
    porque o mais recente álbum métodos
  • 00:03:14
    usados que são os únicos usados na
  • 00:03:16
    verdade nós temos outras modelos usados
  • 00:03:21
    atualmente
  • 00:03:22
    ok então antes de a gente chegar nos
  • 00:03:30
    modelos propriamente dito temos aqui
  • 00:03:32
    algumas definições básicas sobre
  • 00:03:35
    engenharia de software
  • 00:03:36
    algumas delas já cobertas na
  • 00:03:38
    apresentação da disciplina mas
  • 00:03:42
    formalizando aqui algumas coisas até
  • 00:03:44
    porque algumas ainda não foram cobertos
  • 00:03:46
    mas primeiramente aqui né uma definição
  • 00:03:49
    muito básica que a gente não pode deixar
  • 00:03:51
    de fazer dentro dessa disciplina
  • 00:03:54
    primeira coisa o que é um software
  • 00:03:58
    nós costumamos pensar que software
  • 00:04:01
    apenas aquele programa que a gente
  • 00:04:03
    executa no computador
  • 00:04:04
    então só sejam programas de computador
  • 00:04:07
    mas na verdade por dentro definição até
  • 00:04:10
    mais do que isso
  • 00:04:11
    o software também é toda a documentação
  • 00:04:14
    associada à então o software é tudo o
  • 00:04:20
    que acompanha aquele programa de
  • 00:04:22
    computador então se você tem um manual
  • 00:04:25
    do usuário se você tem um help online
  • 00:04:27
    qualquer documentação inclusive a
  • 00:04:30
    documentação usada
  • 00:04:32
    para o desenvolvimento do software do
  • 00:04:35
    projeto que você fez
  • 00:04:37
    a especificação de requisitos tudo isso
  • 00:04:39
    compõe o software por perfil missão ok
  • 00:04:43
    por mais que nós
  • 00:04:44
    no dia a dia não nos lembremos disso
  • 00:04:47
    isso é por definição é bom e há um outro
  • 00:04:50
    que evito bastante importante é dentro
  • 00:04:53
    do engenheiro de software
  • 00:04:55
    quais são os atributos para a gente
  • 00:04:57
    considerar o software como sendo um bom
  • 00:04:59
    software
  • 00:05:00
    isso é uma questão bastante abrangente
  • 00:05:03
    por isso que existe uma disciplina é que
  • 00:05:06
    vocês ainda vão ver no curso de vocês
  • 00:05:08
    que é chamada de qualidade de software
  • 00:05:10
    vocês vão ter uma disciplina só para
  • 00:05:11
    tratar qualidade de software mas vocês
  • 00:05:14
    aqui já para jantar
  • 00:05:16
    nós já pensamos que a funcionalidade tem
  • 00:05:19
    que ser de acordo com que o usuário
  • 00:05:23
    espera tem que ter um bom desempenho
  • 00:05:25
    além disso tem que ser confiável no
  • 00:05:28
    sentido de que o sistema tem que dar
  • 00:05:31
    fazer aquilo que o usuário espera e
  • 00:05:34
    ainda tem que ser fácil de manter sempre
  • 00:05:37
    que alguma alteração tivesse que ser
  • 00:05:39
    feita e isso tem que ser feito de uma
  • 00:05:40
    forma fácil e por fim tem uma boa
  • 00:05:43
    usabilidade então aqui foi destacado
  • 00:05:45
    apenas cinco atributos mas vocês vão
  • 00:05:48
    perceber quando vocês estiverem
  • 00:05:50
    estudando qualidade de software que
  • 00:05:52
    existe muito mais do que isso
  • 00:05:54
    depois nós temos aqui uma breve
  • 00:05:55
    definição do que é a engenharia de
  • 00:05:57
    software que eu já defini
  • 00:05:59
    já apresentei para vocês na aula de
  • 00:06:01
    apresentação então rapidamente aqui é
  • 00:06:04
    uma disciplina de engenharia que se
  • 00:06:06
    preocupa com todos os aspectos da
  • 00:06:08
    produção de software
  • 00:06:09
    quais as principais atividades da
  • 00:06:12
    engenharia de software basicamente já
  • 00:06:14
    tinha adiantado especificação
  • 00:06:16
    desenvolvimento validação e evolução do
  • 00:06:19
    software
  • 00:06:20
    depois qual a diferença entre engenharia
  • 00:06:22
    de software ea ciência da computação a
  • 00:06:25
    ciência da computação foca a teoria e
  • 00:06:29
    fundamentos enquanto engenharia de
  • 00:06:31
    software se preocupa com o lado prático
  • 00:06:33
    do desenvolvimento do software
  • 00:06:36
    eu havia comparado à engenharia de
  • 00:06:38
    software com a engenharia da computação
  • 00:06:41
    temos aqui um outro termo que a ciência
  • 00:06:43
    da computação a nós temos também uma
  • 00:06:46
    comparação entre engenharia de software
  • 00:06:48
    de engenharia de sistema e eu tinha
  • 00:06:51
    comparado engenharia de sistemas de
  • 00:06:53
    informação
  • 00:06:54
    mas aqui basicamente a mesma comparação
  • 00:06:56
    que eu havia feito principais desafios
  • 00:07:00
    da engenharia de software
  • 00:07:03
    o problema é que nós sempre precisamos
  • 00:07:04
    pensar em fazer sofre de uma forma mais
  • 00:07:07
    rápida e por outro lado falta tem que
  • 00:07:10
    ser confiável novamente fazendo o
  • 00:07:12
    paralelo com uma engenharia civil
  • 00:07:15
    nós precisamos fazer prédios cada vez
  • 00:07:17
    mais rápido mais rapidamente e o prédio
  • 00:07:20
    tem que ser confiável não pode cair
  • 00:07:21
    então só pra ter um evento simples a
  • 00:07:26
    custos da engenharia de software em
  • 00:07:29
    geral a gente gasta 60 por cento do
  • 00:07:32
    tempo desenvolvendo para propriamente
  • 00:07:34
    dito e 40% testando por conta justamente
  • 00:07:39
    que tem que ter bastante qualidade
  • 00:07:41
    melhores técnicas e métodos da
  • 00:07:43
    engenharia de software só por aqui
  • 00:07:50
    comparando o tamanho da informação que
  • 00:07:52
    nós temos aqui com o restante
  • 00:07:54
    vocês a só conseguem abstrair que não
  • 00:07:57
    não é fácil responder quais os melhores
  • 00:07:59
    técnicas e métodos porque existem muita
  • 00:08:04
    controvérsia qual é o melhor técnica
  • 00:08:06
    qual é o melhor método para você
  • 00:08:08
    desenvolver software e futuro vai
  • 00:08:10
    depender de qual a empresa de qual a
  • 00:08:13
    organização de que tipo de software
  • 00:08:15
    então se você está falando de um sistema
  • 00:08:18
    de um software crítico ou não que requer
  • 00:08:21
    muita segurança
  • 00:08:22
    enfim a gente vai ver essa disciplina
  • 00:08:25
    agora para tratar disso a e quais as
  • 00:08:29
    diferenças que foram introduzidas pela
  • 00:08:31
    internet muito de vocês talvez já na
  • 00:08:33
    feira num mundo em que a internet já
  • 00:08:35
    existia não é o meu caso
  • 00:08:37
    e a gente tem uma evolução muito grande
  • 00:08:39
    na engenharia de software por conta da
  • 00:08:41
    criação da internet também vamos tratar
  • 00:08:44
    um pouco de frio durante a disciplina
  • 00:08:46
    bom então para definir mais de uma forma
  • 00:08:50
    um pouco mais é sistemático que é um
  • 00:08:53
    processo de software
  • 00:08:54
    junto de todas as atividades
  • 00:08:56
    relacionadas que levam à produção de um
  • 00:08:59
    produto de software
  • 00:09:00
    nesse caso a gente pode pensar que um
  • 00:09:02
    software pode ser desenvolvido
  • 00:09:04
    totalmente do zero ou então estendido
  • 00:09:07
    você já tem um software você quer
  • 00:09:09
    melhorar aumentar o foster pra isso você
  • 00:09:13
    pode inclusive usar componentes de
  • 00:09:16
    software que já existem
  • 00:09:17
    juntando todos e criando um software
  • 00:09:20
    novo e de novo aqui
  • 00:09:24
    repetindo vocês vão ver isso em vários
  • 00:09:26
    slides durante o curso inteiro
  • 00:09:29
    disciplina inteira
  • 00:09:30
    quais são as atividades fundamentais da
  • 00:09:32
    engenheira de software especificação
  • 00:09:34
    projeto implementação validação e
  • 00:09:37
    evolução é esses nomes eles não são
  • 00:09:41
    exatamente sempre usado dessa forma a
  • 00:09:45
    parecer 155 12345 em outro lugar pode
  • 00:09:50
    aparecer três pode parecer 4 pode
  • 00:09:52
    parecer 7 podem aparecer com nomes
  • 00:09:55
    similares sinônimos então evite em
  • 00:09:58
    diferentes livros com diferentes autores
  • 00:10:00
    com diferentes professores
  • 00:10:02
    os nomes podem variar vocês vão ver que
  • 00:10:04
    inclusive slides nomes variam até porque
  • 00:10:07
    o material que eu estou usando como base
  • 00:10:09
    que o livro do senhor viu para poder ter
  • 00:10:12
    uma referência exata também varia e eu
  • 00:10:15
    estou tentando manter o mesmo padrão que
  • 00:10:17
    o brasil está usando
  • 00:10:18
    então não existe uma verdade absoluta em
  • 00:10:21
    termos de nomenclatura ok o mais
  • 00:10:23
    importante é você entender e
  • 00:10:25
    acompanharem a idéia abstração
  • 00:10:31
    bom então voltando aqui em termos de
  • 00:10:34
    modelos de processos de software
  • 00:10:37
    quais são os principais modelos seguidos
  • 00:10:40
    para a tratar o processo de software
  • 00:10:46
    nós quando nós pensamos em processo de
  • 00:10:49
    software nós temos a idéia de uma
  • 00:10:52
    representação simplificada como a idéia
  • 00:10:55
    de um exemplo
  • 00:10:56
    ok então que tipos de modelos que tipo
  • 00:11:01
    de exemplo que tipo de idéias nós
  • 00:11:02
    podemos ter
  • 00:11:03
    quando nós queremos organizar o processo
  • 00:11:06
    de desenvolvimento de software ciclo de
  • 00:11:08
    vida dentro de uma organização dentro de
  • 00:11:11
    uma empresa é como se fosse um tipo de
  • 00:11:13
    senhor que é uma palavra inglesa que nós
  • 00:11:16
    não temos exatamente uma tradução para o
  • 00:11:20
    português mas nenhuma delas é muito boa
  • 00:11:23
    então a gente acaba usando inglês mesmo
  • 00:11:24
    não é uma prática indesejável mas é uma
  • 00:11:28
    das palavras que a gente não consegue
  • 00:11:29
    inclusive software é uma palavra inglesa
  • 00:11:32
    que a gente não gosta de ouvir mas já
  • 00:11:34
    foi incorporada
  • 00:11:36
    mas enfim em três modelos de software
  • 00:11:39
    bastante tradicionais
  • 00:11:41
    agora com vocês o modelo cascata
  • 00:11:44
    incremental e orientada a seu uso
  • 00:11:48
    então o modelo em cascata em cascata
  • 00:11:52
    porque ele vai caindo ele vai descendo
  • 00:11:55
    como se fosse uma cascata
  • 00:11:58
    basicamente são aquelas etapas que eu
  • 00:12:00
    havia comentado com vocês
  • 00:12:01
    a definição de requisitos projeto
  • 00:12:04
    implementação e testes de integração e
  • 00:12:07
    outro tipo de teste e por fim na
  • 00:12:09
    operação e manutenção
  • 00:12:11
    então você vai executando cada uma das
  • 00:12:15
    etapas ea primeira vez que ele foi
  • 00:12:17
    apresentado ele foi apresentado dessa
  • 00:12:20
    forma essa parte é que ela nem existia e
  • 00:12:25
    então só existia essa ordem então
  • 00:12:28
    parecia uma cascata caindo
  • 00:12:31
    como não existia essa flechas voltando
  • 00:12:36
    estão voltando significava que você
  • 00:12:39
    fazia toda a definição de requisitos
  • 00:12:41
    depois fechava tudo depois você
  • 00:12:44
    participa do projeto
  • 00:12:45
    depois da implementação e assim por
  • 00:12:47
    diante mas logo percebeu que na prática
  • 00:12:49
    isso nunca aconteceu
  • 00:12:51
    na verdade você voltava a fazer um pouco
  • 00:12:55
    do projeto em algum momento você tinha
  • 00:12:57
    que voltar melhorar os requisitos sempre
  • 00:13:00
    você precisa voltar a fazer um pouco
  • 00:13:01
    então desde o primeiro dos primeiros
  • 00:13:04
    momentos da engenharia de softwares
  • 00:13:06
    percebeu-se que não dava pra fazer tudo
  • 00:13:10
    de uma etapa para de fechá la
  • 00:13:12
    completamente passar para a próxima
  • 00:13:14
    sexta la completamente passar para
  • 00:13:16
    próxima então em algum momento
  • 00:13:20
    sul já começou ficar mais claro ainda
  • 00:13:23
    conforme os próximos modelos de ciclo de
  • 00:13:27
    vida de do processo de software
  • 00:13:28
    começaram a aparecer até que então é
  • 00:13:32
    formalmente apareceram os que começaram
  • 00:13:35
    a ser chamado de desenvolvimento
  • 00:13:36
    incremental
  • 00:13:38
    aqui fica bastante claro essas
  • 00:13:41
    interações que revistem então começa
  • 00:13:45
    criando um esboço
  • 00:13:46
    a partir desses bolso é feito um
  • 00:13:49
    desenvolvimento especificação validação
  • 00:13:52
    então você desenvolve um pouco
  • 00:13:54
    específico um pouco volta desenvolver um
  • 00:13:56
    pouco valida um pouco é o que foi
  • 00:13:59
    desenvolvido então você fica nesse ciclo
  • 00:14:02
    aqui e nem voltando específica
  • 00:14:04
    desenvolve válida volta desenvolver mais
  • 00:14:06
    um pouco de envolve mais um pouco por
  • 00:14:08
    isso que ele é chamado e incremental
  • 00:14:10
    então você vai você tem uma versão
  • 00:14:14
    inicial
  • 00:14:15
    você tem algumas versões intermediárias
  • 00:14:17
    até que em algum momento você chega na
  • 00:14:20
    versão final
  • 00:14:21
    por isso chamado incremental diferentes
  • 00:14:25
    versões de um ciclo de vida implementar
  • 00:14:31
    um outro modelo de vida que é tocado na
  • 00:14:37
    parte de reuso o que significa aquela
  • 00:14:40
    idéia de que você tem partes prontas do
  • 00:14:43
    desenvolvimento de software que você vai
  • 00:14:48
    desenvolver um software pegando essas
  • 00:14:50
    partes linhas é como você construiu uma
  • 00:14:53
    casa de novo
  • 00:14:58
    você vai pegar uma casa com um mês você
  • 00:15:01
    colocou um tijolinho por tijolinho você
  • 00:15:03
    vai pegar partes pré montadas prontas e
  • 00:15:05
    você vai juntando essas partes prontas
  • 00:15:08
    pra construir a casa ou prédio de uma
  • 00:15:11
    forma mais rápida então você tem o que
  • 00:15:13
    nós chamamos de componentes de software
  • 00:15:15
    prontos os componentes que já existem
  • 00:15:24
    por conta desse componente talvez você
  • 00:15:26
    altere os requisitos para que de novo se
  • 00:15:31
    uma casa e aí você quer usar parte
  • 00:15:33
    pronta
  • 00:15:34
    pedaços prontos uma casa mas neles não
  • 00:15:36
    se adéqua exatamente aquela ideia
  • 00:15:38
    inicial da casa que você tinha mais
  • 00:15:39
    força vamos mudar um pouco a idéia da
  • 00:15:41
    casa para poder aproveitar aqueles
  • 00:15:43
    componentes que já estão prontos e devem
  • 00:15:45
    ficar mais barato no software você pode
  • 00:15:47
    fazer a mesma coisa e aí você projeta
  • 00:15:50
    aquele sistema com os reuso você
  • 00:15:52
    desenvolve e integra aqueles componentes
  • 00:15:55
    por sim você valida seu sistema bom
  • 00:15:59
    independentemente de novo na
  • 00:16:01
    independentemente de qual modelo você
  • 00:16:03
    vai seguir você pode querer sempre
  • 00:16:07
    especificar sempre desenvolver sem
  • 00:16:09
    finalidade e por sim você evoluir
  • 00:16:12
    software então percebam eu mostrei três
  • 00:16:15
    eventos básicos de modelo ciclo de vida
  • 00:16:18
    basicamente está na ordem de evolução
  • 00:16:21
    histórica é mas sempre vai ter de alguma
  • 00:16:25
    forma idéia de você vê o seu cliente que
  • 00:16:28
    é especificado alguma forma
  • 00:16:31
    baseado nisso projetar o software
  • 00:16:34
    implementar o software e validar que
  • 00:16:36
    está a forma a ordem que você vai fazer
  • 00:16:40
    isso que você vai tentar fazer de uma
  • 00:16:42
    forma é pecadinho não ficar dinho vai
  • 00:16:47
    envolver mais pessoas de um tipo mais
  • 00:16:49
    pessoas de outro
  • 00:16:50
    isso vai começar a mudar e você vai ter
  • 00:16:52
    visões um pouco mais um jeito um pouco
  • 00:16:54
    mais de outro e isso é o que ele chama
  • 00:16:56
    dos modelos ok mas a ideia é o tipo de
  • 00:17:00
    atividade vai ser muito parecido
  • 00:17:02
    então quando a gente está falando na
  • 00:17:05
    parte de requisitos propriamente dito
  • 00:17:07
    a gente começa depois poder quebrar e
  • 00:17:10
    então aquele modelo que apresenta antes
  • 00:17:13
    é um grande ciclo de vida depois cada
  • 00:17:16
    uma daquelas atividades por sua vez são
  • 00:17:18
    quebradas por exemplo a engenharia de a
  • 00:17:21
    partir de requisitos de certificação
  • 00:17:23
    nesse quesito a gente pode primeiro
  • 00:17:25
    fazer um estudo de viabilidade será que
  • 00:17:28
    aquilo que o cliente está pedindo
  • 00:17:29
    realmente pode ser desenvolvido
  • 00:17:31
    ok pode passou se não a gente à porta
  • 00:17:35
    aí eu faço a coleta de requisitos e
  • 00:17:38
    depois baseado na coleta que pode ser
  • 00:17:41
    uma lista simples não faço há
  • 00:17:43
    especificação é um documento mais formal
  • 00:17:45
    de requisitos
  • 00:17:46
    depois que eu tenho
  • 00:17:48
    esse documento eu válido com o cliente
  • 00:17:51
    olha isso que eu escrevi que é o que eu
  • 00:17:53
    entendi que você quer realmente o que
  • 00:17:55
    você quer
  • 00:17:56
    então veja eu criei aqui quatro
  • 00:17:58
    atividade pra desde pegarem a primeira
  • 00:18:02
    conversa com o cliente até chegar lá e
  • 00:18:05
    falar cliente é isso mesmo que você quer
  • 00:18:08
    bater o martelo para a gente seguir
  • 00:18:10
    adiante
  • 00:18:11
    ok seguimos adiante então nós vamos para
  • 00:18:14
    o projeto né
  • 00:18:16
    vamos projetar o que vai ser feito
  • 00:18:18
    baseado no que o cliente que é então
  • 00:18:21
    passando chega tendo como entrada a
  • 00:18:24
    especificação de requisitos
  • 00:18:27
    nós precisamos então chegar na
  • 00:18:29
    arquitetura do sistema de banco de dados
  • 00:18:34
    como será a interface como serão os
  • 00:18:37
    componentes que eu vou desenvolver ou
  • 00:18:39
    vou aproveitar que já estão
  • 00:18:40
    desenvolvidos
  • 00:18:41
    é como se desenvolver aqui de novo
  • 00:18:43
    pensando na engenharia civil é como se
  • 00:18:46
    eu tivesse aqui
  • 00:18:47
    o projeto arquitetônico o projeto
  • 00:18:50
    hidráulico o projeto elétrico e outros
  • 00:18:55
    projetos aqui também existem áreas de
  • 00:18:57
    civil
  • 00:18:58
    estou pegando que o evento mais simples
  • 00:19:00
    de como leigo que eu conheço
  • 00:19:02
    enfim baseado na especificação de
  • 00:19:04
    requisitos eu chego nos diferentes tipos
  • 00:19:06
    de projeto esse projeto é que vou passar
  • 00:19:10
    o implementador realmente implementar o
  • 00:19:12
    código o software e aí
  • 00:19:15
    aqui é como eu transformo isso mesmo é
  • 00:19:18
    que eu tenho um aterro uma ideia não
  • 00:19:21
    precisa ser feita dessa forma
  • 00:19:23
    mas eu desenvolvo primeiro esse projeto
  • 00:19:25
    baseado nesse projeto desenvolve dois
  • 00:19:27
    projetos nem aqui a arquitetura baseada
  • 00:19:30
    na arquitetura desenvolveu interface que
  • 00:19:32
    o banco de dados baseado na interface do
  • 00:19:34
    google os componentes e os componentes
  • 00:19:36
    também vão ser usados para o banco de
  • 00:19:38
    dados então para o banco de dados é
  • 00:19:40
    preciso da arquitetura e dos componentes
  • 00:19:42
    bom aqui daqui então eu faço
  • 00:19:46
    implementação e baseado na implementação
  • 00:19:49
    então tem os testes uma ideia também
  • 00:19:52
    para testes porque é um modelo
  • 00:19:54
    eu posso testar cada componente juntando
  • 00:19:57
    cá todos os componentes do sistema como
  • 00:20:00
    um todo
  • 00:20:01
    71 do sistema eu tenho que testar a
  • 00:20:05
    aceitação já junto do cliente clientes
  • 00:20:09
    esse é o sistema vamos testar para saber
  • 00:20:11
    se você aceita ou não
  • 00:20:12
    uma outra idéia de um outro modelo de
  • 00:20:15
    teste que é ter um plano baseado em cada
  • 00:20:24
    etapa os planos de testes só pra mostrar
  • 00:20:33
    pra vocês que existem modelos idéias de
  • 00:20:35
    como fazer as coisas e aí eu faço o
  • 00:20:38
    teste da integração o teste do sistema
  • 00:20:40
    um teste de aceitação que são as mesmas
  • 00:20:44
    idéias que estavam aqui de uma forma
  • 00:20:46
    mais detalhada para fazer cada um
  • 00:20:48
    daqueles prestes
  • 00:20:49
    eu tenho diferentes formas de ver e por
  • 00:20:55
    fim
  • 00:20:56
    entreguei para o cliente eu preciso
  • 00:20:58
    evoluir evoluir significa avaliar o
  • 00:21:02
    sistema que eu tenho e propor mudanças
  • 00:21:06
    essas mudanças podem inclusive serve
  • 00:21:08
    para corrigir erros modificar o sistema
  • 00:21:10
    e chegar em um novo sistema
  • 00:21:14
    então com isso a gente viu o geral da
  • 00:21:18
    engenharia de software como um todo
  • 00:21:20
    ficando claro que são vários modelos
  • 00:21:23
    várias idéias que foram apresentadas e
  • 00:21:26
    cada provocado organização definir
  • 00:21:29
    exatamente a sua forma de desenvolver
  • 00:21:32
    software então nas próximas aulas a
  • 00:21:34
    gente começa a definir um começar a
  • 00:21:38
    entrar um pouco em cada uma dessas cada
  • 00:21:43
    uma dessas etapas
  • 00:21:44
    ainda vamos falar um pouquinho mais
  • 00:21:46
    histórico é inclusive ainda abordar um
  • 00:21:49
    pouco da questão dos métodos marcha
  • 00:21:52
    obrigado
  • 00:21:54
    [Música]
  • 00:22:14
    [Música]
  • 00:22:23
    [Música]
  • 00:22:31
    [Música]
  • 00:22:40
    ah
Tags
  • engenharia de software
  • modelo de processo
  • atividades de software
  • métodos ágeis
  • modelo cascata
  • desenvolvimento incremental
  • componentes de software
  • qualidade de software
  • documentação
  • ciência da computação