Engenharia de Software e Sistemas Alexandre Vasconcelos amlvcin
- Slides: 30
Engenharia de Software e Sistemas Alexandre Vasconcelos (amlv@cin. ufpe. br)
Motivação n n Desenvolver sistemas de acordo com a intenção do cliente/usuário Estabelecer noção sobre tempo e custo de desenvolvimento Elaborar artefatos além de código Analisar artefatos para estabelecer a qualidade do produto
O Início de Tudo. . . “A intenção do cliente é. . . ”
O Mais Importante Aqui é. . . Idéia é Viável? ? ?
O Que Devo Fazer Exatamente? Ou, em outras palavras, quais são os requisitos da aplicação?
Requisitos n O Que devo fazer? n n Há restrições sobre as funcionalidades? n n Funcionalidades Limites de tempo, memória, etc. ? Há restrições mais amplas? n Empresa, Governo, etc. ?
O que faço então? “O documento de requisitos. . . ”
Como apresentar ao Cliente? “O cliente não vai ler 500 páginas de requisitos!!!”
Uma Figura Vale Mais Que. . .
Mas Paralelamente. . . “Precisamos saber quanto tempo levaremos para fazer nosso trabalho, quanto isso custará e o que pode nos atrapalhar. . . Precisamos Planejar!!!”
Estimando Esforço n n n Modelo de casos de uso pode ser usado para calcular estimativa Baseia-se em uma série de fatores que determinam a complexidade da aplicação Há ferramentas para realizar o cálculo
Estimando Esforço F( ) X horas
Estimando Esforço
Iniciando a Solução. . . “Temos que identificar em nossos requisitos, quais são os elementos essenciais para satisfazê-los. . . ”
Iniciando a Solução. . .
Iniciando a Solução. . .
Sedimentando a Solução. . . “A partir dos elementos essenciais, precisamos definir estratégias para satisfazê-los incluindo suas restrições. . . ”
Sedimentando a Solução. . .
Sedimentando a Solução. . .
Sedimentando a Solução. . .
Classe Account. . . public class Account { private int balance; /*@ invariant balance>=0 @*/. . . void debit(int amount) { /*@ requires amount <= balance @*/ /*@ ensures balance = old(balance) - amount @*/ }. . . }
Operacionalizando a Solução. . . “Com a solução definida, o passo final é operacionalizá-la. Isto é, codificá-la. ”
Classe Account. . . public class Account { private int balance; . . . void debit(int amount) { if(amount<=balance) balance = balance – amount; else throw new Account. Exception(“. . . ”); }. . . }
Funciona? ? ? “Com a implementação feita, podemos então executar os testes!!!”
Avaliando a qualidade public class Account. Test extends Test. Case { void test. Debit() { Account acc = new Account(10); acc. debit(10); assert. Equals(0, acc. get. Balance()); } }
Avaliando a qualidade n Também poderemos usar ferramentas baseadas nos contratos do projeto n n n jmlc (JML Compiler) jmlunit (JML + JUnit) escjava 2 (Static Checker for Java)
Aulas de Laboratório n Uso de ferramentas n n Rose, JML, JUnit, etc. Exercitar elementos de sala n Os monitores ajudarão/ministrarão as aulas práticas
Avaliação da Disciplina n n Nota 1 (N 1) = (Testes 1 e 2) / 2 Nota 2 (N 2) = Exercício Escolar Nota 3 (N 3) = Projeto Nota Geral = (N 1+N 2+N 3) / 3
Site sobre Projeto n Deve conter no mínimo: n n n Equipe (nome, login) Documentos Cronograma atualizado Atas de reuniões Informações úteis a usuários finais Definir um projeto até 20/11/2006 Máximo de 12 equipes na turma
Referências n Básica n n Sommerville, I. Software Engineering. Extra n n www. junit. org http: //www. cs. iastate. edu/~leavens/JML/ Kruchten, P. The Rational Unified Process: An Introduction. 2 nd Ed Booch, G. et al. The Unified Modeling Language User Guide.
- Rafael de vasconcelos xavier ferreira
- Pedro vasconcelos iscte
- Mba engenharia de software
- Engenharia software
- Tipos de modelo de processo prescritivo
- Engenharia software
- Engenharia de software
- Engenharia de software
- Engenharia reversa de software exe
- Fundamentos de engenharia de software
- Engenharia de software
- Engenharia química unip
- Engenharia química unip
- Engenharia aeronautica unip
- Unip engenharia eletrica
- Fluidos
- Vidros termorrefletores
- Friburgo
- Unip mecatronica
- Engenharia mecatronica unip
- Engenharia mecatronica unip
- Escola
- Engenharia de transporte
- Escola engenharia
- Escola de eel
- Decomposição
- Engenharia de tráfego
- Engenharia
- Modelo engenharia
- Engenharia
- Engenharia