4. Anaturezadosoftware
O que é?
Software é um produto desenvolvido por
profissionais que dão suporte a longo prazo.
Quem realiza?
Engenheiros de so>ware.
Porque é importante?
Porque afeta quase todos os aspetos da
nossa vida e se fundiu com o comércio,
cultura e nas aBvidades do quoBdiano.
Quais as etapas envolvidas?
Clientes ou outros que expressem a necessidade pelo
software desenvolvido para resolver um problema.
Qual é o artefacto?
Executar o software em um ou diversos ambientes e atender
às necessidades dos utilizadores.
Como garanBr que o trabalho foi realizado corretamente?
Eng. de so>ware: aplicar conhecimentos técnicos
UBlizador: conhecer as necessidades, o ambiente e escolher a
aplicação mais adequada para resolver o problema.
“Ideias e descobertas tecnológicas são mecanismos que
impulsionam o crescimento económico” Wall Street Journal
5. Naturezado
Software
Curva de defeitos para Software
Campos de aplicação de So>ware:
Sistema, Aplicação, CienKfico, Embebido,
Linha de produtos, Webapps, Mobile, AI, ML,
etc…
7. EngenhariadeSoftware
O que é?
Processo, conjunto de métodos, práBcas e
ferramentas
Quem realiza?
Engenheiros de so>ware.
Porque é importante?
Porque capacita o desenvolvimento de
sistemas complexos dentro do prazo e com
alta qualidade.
Quais as etapas envolvidas?
Aplicação de processos ágeis que resultem em Sw de alta
qualidade que dão origem a um produto.
Qual é o artefacto?
Eng. de Sw: código, bibliotecas, programas, conteúdo.
UBlizador: informações que tornam a vida dele melhor.
Como garantir que o trabalho foi realizado corretamente?
Eng. de software: aplicar conhecimentos técnicos, boas-
práticas de programação para construir um Sw de alta-
qualidade.
“Há certa majestade na simplicidade, que está muito acima de toda
a excentricidade do saber” Alexander Pope (1688 – 1744)
8. Engenhariade
Software
A Engenharia de so4ware engloba um
processo, métodos de gestão e
desenvolvimento de so4ware, bem
como ferramentas.
Camadas da Engenharia de Software
Ferramentas: fornecem suporte para o processo e para os
métodos;
Métodos: Informações técnicas para o desenvolvimento de Sw.
Envolvem várias tarefas: comunicação, análise de requisitos,
planeamento de projeto, testes e suporte;
Processo: Define uma metodologia de trabalho estabelecida
para a entrega efetiva de tecnologia; Modelos, dados,
relatórios, formulários, são estabelecidos marcos / milestones e
a mudança de contexto deve ser gerida de forma apropriada;
Qualidade: A pedra fundamental que sustenta a Eng. de Sw.
9. Processode
Software
A Engenharia de so4ware engloba um
processo, métodos de gestão e
desenvolvimento de so4ware, bem
como ferramentas.
Metodologia do processo (framework)
Comunicação: Antes de elaborar trabalho técnico é
fundamental comunicar com o cliente (e outros envolvidos)
para entender os objetivos e reunir requisitos que ajudem a
definir os recursos e as funções de Sw.
Planeamento: Cronograma de trabalho que reflete todas as
atividades, descrevendo as tarefas técnicas, identificando os
riscos, recursos necessários e resultados espectável das
entregas
Modelação: Criação de modelos para entender as necessidades
do Sw, identificação da arquitetura dos sistemas, interação
entres os componentes e possíveis detalhes da solução.
Construção: Implementação do código, testes e validações para
evitar possíveis erros.
Entrega: O software completo ou um incremento parcialmente
concluído é entregue ao cliente para avaliar o produto e
fornecer feedback.
11. Processodesoftware
O que é?
Roteiro de fases que resulte num produto / sw
de alta qualidade dentro do prazo estabelecido
Quem realiza?
Engenheiros de so>ware, gestores, analistas.
Porque é importante?
Porque propicia estabilidade, controle e
organização no ciclo de vida do projeto de Sw.
Abordagem moderna deve ser ágil / agile.
Quais as etapas envolvidas?
O processo adotado depende do Sw a ser desenvolvido.
Qual é o artefacto?
Eng. de Sw: programas, documentos e dados produzidos
pelas aBvidades e tarefas definidas pelo processo.
Como garanBr que o trabalho foi realizado corretamente?
Há vários mecanismos de avaliação que determinam o nível de
maturidade dos processos de Sw.
Melhores Indicadores p/ eficácia do processo: Qualidade do
Sw (ISO 9001:2000), cumprimento de prazos do projeto.
“Se o processo esMver correto, os resultados falarão por si mesmos”
Takashi Osada
12. Modelode
processogenérico
Um processo define a abordagem
conforme o so1ware é elaborado pela
engenharia. Eng. de so1ware engloba
métodos técnicos e ferramentas
automa;zadas.
- Comunicação
- Planeamento
- Modelação
- Construção
- Entrega
Modelo de processo genérico:
A hierarquia de trabalho técnico,
dentro do processo de software,
consiste em atividades e ações
abrangentes compostas por
tarefas
Fluxo de processo?
Descreve como são organizadas as
atividades metodológicas, bem
como as ações e tarefas decorrem
nessa atividade em relação à
sequência e ao tempo
14. Processode
softwares
A avaliação tenta
compreender o atual
estado do processo de
software com o intuito
de aperfeiçoá-lo.
Um modelo de processo genérico:
- Hierarquia de ABvidades, Casos de Uso, Tarefas;
Definição de uma aBvidade metodológica:
- Fluxo de processo
IdenBficação de um conjunto de tarefas:
- Definir conjunto de tarefas adequadas às
necessidades do projeto e às caracterísBcas da
equipa.
Padrões de processo:
- Um modelo de padrões propicia um meio consistente
para descrever um padrão; Exemplo: Estágio, tarefas,
fases, contexto inicial, problema, solução, contexto
resultante, etc…
Avaliação e aperfeiçoamento de processo:
- Tenta compreender o estado atual do processo de Sw
com o intuito de aperfeiçoá-lo. Exemplos: ISO
9001:2000 para So>ware
16. Modelosdeprocesso
O que é?
Define o fluxo das aBvidades, ações e tarefas, o grau
de iteração, artefactos e organização do projeto.
Quem realiza?
Engenheiros de so>ware, gestores, analistas.
Porque é importante?
Porque propicia estabilidade, controle e
organização no ciclo de vida do projeto de Sw.
Abordagem moderna deve ser ágil / agile.
Quais as etapas envolvidas?
O modelo de processo define as fases necessários para a
realização disciplinada de um projeto de so>ware.
Qual é o artefacto?
Eng. de Sw: descrição personalizada das aBvidades e tarefas
definidas pelo processo.
Como garantir que o trabalho foi realizado corretamente?
Há vários mecanismos de avaliação que determinam o nível de
maturidade dos processos de Sw.
Melhores Indicadores p/ eficácia do processo: Qualidade do
Sw (ISO 9001:2000), cumprimento de prazos e a viabilidade
do projeto a longo prazo.
“Muito frequentemente, o trabalho de software segue a primeira lei
do ciclismo: não importa onde se pretende ir, é sempre ladeira
acima e contra o vento.” Autor desconhecido
17. 4.1Modelosde
processoprescritivo
Os modelos de processo prescriDvo
definem um conjunto prescrito de
elementos de processo e um fluxo de
trabalho de processo previsível.
Modelo em cascata
Modelo emV
O modelo V ilustra como
as ações de verificação e
validação estão
associadas a ações de
engenharia anteriores.
Os modelos de processo prescriBvo definem um
conjunto prescrito de elementos de processo e um
fluxo de trabalho de processo previsível.
18. 4.2Modelosde
processoincremental
Os modelos de processo iterativo visam
um desenvolvimento rápido de um
conjunto funcional, só depois, refinar e
expandir a funcionalidade em versões
de Sw posteriores.
Modelos de processo evolucionário
Paradigma da prototipagem
Quando o cliente Bver uma
necessidade legíBma,
mas sem a mínima ideia de
detalhe.
19. 4.3Modelos
concorrentes
Os modelos de concorrentes ou
engenharia concorrente, possibilita
representar elementos concorrentes e
itera;vos de qualquer dos modelos de
processo.
Modelo em espiral
No planeamento do projeto devem ser considerados
documentos.
O processo deve ser avaliado e frequentemente revisto tendo
em consideração alterações necessárias.
20. 4.4Processo
Unificado(CI/CD)
Fases do Processo Unificado
Concepção: inclui a aBvidade de comunicação e
planeamento; IdenBfica as necessidades de negócio,
propõe-se um esboço da arquitetura do sistema;
Elaboração: Inclui as aBvidades de planeamento e
modelação do processo genérico; A elaboração refina e
expande os casos de uso, amplia a arquitetura do
sistema: modelo de casos de uso, modelo de análise,
modelo de projeto, implementação e disponibilização;
Construção: Desenvolvimento de componentes de
so>ware, testes e validações para cada um deles;
Transição: Inclui a aBvidade de construção e entrega;
Versão uBlizável do Sw a ser testado por equipa de QA,
inclui informações de apoio.
Produção: Coincide com a entrega do so>ware e
recomenda-se a monitorização do sistema.