Baixe o app para aproveitar ainda mais
Prévia do material em texto
As apresentações desta série baseiam-se nas apresentações disponibilizadas por Ian Sommerville, tendo sido alteradas e adaptadas primeiro por Anders Lyhne Christensen e finalmente por Manuel Menezes de Sequeira. Sumário ! O que é a engenharia do software e qual a sua importância? 2009/2010 2 Engenharia do Software I 2009/2010 3 Engenharia do Software I O que é o software? ! Programas e documentação associada, incluindo requisitos, modelos de desenho e manuais de utilização 2009/2010 4 Engenharia do Software I O que é o software? ! Produtos de software " Genéricos – Desenvolvidos para fornecer a diferentes clientes; e.g., Excel ou Word " Personalizados (custom) – Desenvolvidos para um cliente de acordo com os seus requisitos 2009/2010 5 Engenharia do Software I O que é o software? ! Novo software " Desenvolvimento de novos programas " Configuração de sistemas de software genéricos " Reutilização de software existente 2009/2010 6 Engenharia do Software I ! Problemas que ainda não foram resolvidos: " Ultrapassagem do orçamento " Baixa produtividades " Produtos errados " Baixa qualidade " Manutenção constante – “Se não se fizerem mudanças, tornar-se-á inútil” 2009/2010 7 Engenharia do Software I Caos O software é como uma catedral – primeiro constrói-se, depois reza-se. Sam Redwine 2009/2010 8 Engenharia do Software I Engenharia do software ! Disciplina da engenharia focada em todos os aspectos da produção de software 2009/2010 9 Engenharia do Software I Engenharia do software ! Engenheiros de software " Abordam trabalho de forma sistemática e organizada " Utilizam ferramentas e técnicas apropriadas ao problema a resolver, às restrições existentes e aos recursos disponíveis 2009/2010 10 Engenharia do Software I Engenharia do software ! É um problema tramado " Há soluções melhores e soluções piores " Não há soluções certas e soluções erradas " Não há medidas objectivas de sucesso 2009/2010 11 Engenharia do Software I CASE (Computer-Aided Software Engineering) ! Ferramentas de software suportando automaticamente actividades do processo de desenvolvimento de software " Upper-CASE (actividades iniciais) ○ Recolha de requisitos ○ Desenho " Lower-CASE (actividades posteriores) ○ Programação ○ Depuração ○ Teste 2009/2010 12 Engenharia do Software I Processo de software ! Conjunto de atividades destinadas a desenvolver ou fazer evoluir o software 2009/2010 13 Engenharia do Software I 0-14 Ciclo de vida 0-15 Fase de desenvolvimento do ciclo de vida do software Processo de software ! Actividades comuns " Especificação – O que deve fazer? Quais as restrições ao seu desenvolvimento? " Desenvolvimento – Produção do sistema " Validação – Verificação do sistema face às pretensões do cliente " Evolução – Alteração do software como resposta a alterações nos requisitos 2009/2010 16 Engenharia do Software I Modelo de processo de software ! Representação simplificada de processo de software, com uma perspectiva específica ! Perspectivas " Fluxo de trabalho (workflow) – Sequência de actividades " Fluxo de dados – Fluxo de informação " Papéis/acções – Quem faz o quê 2009/2010 17 Engenharia do Software I Modelo de processo de software ! Modelos genéricos de processo " Cascata " Desenvolvimento iterativo " Engenharia do software baseada em componentes 2009/2010 18 Engenharia do Software I 2009/2010 19 Engenharia do Software I Custos por actividade Waterfall model Iterative development Component-based software engineering Development and evolution costs for long-lifetime systems System evolution 10 20 30 40 0 System development Specification Design Development Integration and testing 25 50 75 100 0 Specification Development Integration and testing 25 50 75 100 0 Specification Iterative development System testing 25 50 75 100 0 2009/2010 20 Engenharia do Software I Atributos do bom software ! Cumpre requisitos funcionais e de desempenho do cliente ! “Mantenível” (possível de manter) – Pode evoluir adaptando-se a requisitos em mutação ! Fiável – É de confiança ! Eficiente – Não desperdiça recursos ! Aceitável pelos utilizadores – Compreensível, fácil de usar e compatível com outros sistemas 2009/2010 21 Engenharia do Software I 0-22 Vídeo Aula ! Aula 01 ! http://videoaula.rnp.br/rioflashclient.php? xmlfile=/cederj/sistemas_comp/ ead05019/Aula_001/Aula_001.xml
Compartilhar