Notes
Prova 1 - EngSoft
Content of the notes (2)
Page 1
Engenharia de Software I
É o emprego de processos, técnicas, ferramentas, matemática e disciplina para o desenvolvimento econômico e dentro dos prazos estabelecidos de software de forma que o mesmo possua qualidade assegurada e seja capaz de operar nos ambientes reais a que se destina.
Algumas áreas, segundo o SWEBOK, de Engenharia de Software são:
Requisitos
Design
Construção
Teste
Manutenção
Gerenciamento de Configurações
Gerencimento de Projeto
Engenharia de Processo
Ferramentas e Métodos
Qualidade de Software
Fases Fundamentais:
Fase de definição
Fase de desenvolvimento
Fase de operação
Fase de retirada
Fase de definição engloba a:
Análise e especificação de recursos;
estudo de viabilidade
estimativas de planejamento
deve-se levantar e analisar os requisitos funcionais e não funcionais e analisar recursos e restrições para apresentar soluções, estudar a viabilidade e planejar e gerenciar o desenvolvimento.
algumas atividades são:
levantar requisitos funcionais e não funcionais;
documentar os requisitos;
Construir o glossário;
Definir modelo conceitual inicial;
Construir protótipos;
Priorizar as funcionalidades e distribuí-la entre as iterações
Fase de Desenvolvimento constitui em:
Análise
refinamento dos requisitos, refinamento do modelo conceitual e refinamento da arquitetura
Design de Software
Design detalhado, design da interface de usuário, design de algoritmos e estruturas de dados
Implementação e integração
Codificação, compilação, integração e verificação de programas (testes, inspeção e depuração)
Verificação da qualidade
Testes beta, avaliação de usabilidade, avaliação de desempenho, etc.
Fase de Operação:
Distribuição e entrega
Instalação e configuração
Treinamento de usuários
Utilização
Manutenção
Corretiva: correção de erros
Evolutiva ou adaptativa: novas versões
Novos requisitos
Novas situações de operação - hardware, sistemas operacionais
As principais atividades são:
Especificação e análise de requisitos
Design
Codificação, programação ou implementação
Testes
Inspeções
Implantação
Manutenção
Esse sistema em um pipeline rígido é ultrapassado.
É importante ter um desenvolvimento iterativo pois:
sempre tem algo para entregar para o cliente apressado;
os requisitos mudam com tempo e um processo iterativo mantém frequentes contatos com o cliente o que ajuda a manter os requisitos sincronizados;
altamente motivador para a equipe de desenvolvimento ver o software funcionando cedo
O levantamento de requisitos engloba:
facilidade de uso necessária
Quem utilizará o produto
Hardware e software algo para o produto
Questões de qualidade
Compatibilidade com outros produtos ou versões e necessidades de migração;
Suporte
Documentação necessária
Aspectos legais
Integração com outros produtos
A análise engloba:
a análise gera um modelo para entender o domínio do problema
analise também trata em alto nível de como uma soluçãotender aos requisitos
Acaba gerando uma especificação, mas sempre do ponto de vista do usuário e tratando apenas do domínio do problema
Page 2
Padrão Expert
Qual é o princípio mais fundamental para atribuir responsabilidades?
Atribuir uma responsabilidade ao expert de informação, ou seja, a classe que possui a informação necessária para preencher a responsabilidade;
Padrão Creator
Atribua à classe B a responsabilidade de criar instâncias da clase A se uma das seguintes condições for verdadeira:
B contém objetos da classe A;
B agrega objetos da classe A;
B registra instâncias da classe A;
B usa de maneira muito próxima objetos da classe A;
B tem dados usados para inicializar A;
Se mais de uma opção for aplicável, prefira uma classe B que agregue ou contenha objetos da classe A.
Information
- Description
- Note on Prova 1 - EngSoft, created by Iago Pinto on 14/10/2018.
- Created by
- Iago Pinto
- Views
- 0
- Rating