Buscar

Introdução e conceitos - ENGENHARIA DE SOFTWARE II - PARTE 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

1 
ENGENHARIA DE SOFTWARE II 
Competências 
Propor soluções em conformidade com qualidade de código, desempenho e 
robustez na abordagem de objetos, alinhadas com especificações em nível de 
análise. 
Competências relacionadas/ Elementos da competência 
 Propor abstrações coerentes para um software de acordo com a 
especificação em nível de análise. 
 Construir diagramas utilizando corretamente a especificação da UML. 
 Propor ajustes pertinentes na modelagem para satisfazer requisitos não 
funcionais. 
 Evidenciar a compreensão sistêmica da especificação de projeto para 
um software orientado a objetos 
Atitudes requeridas 
 Compreender problemas do mundo real e propor soluções de software 
utilizando orientação a objetos. 
 Aplicar corretamente a linguagem UML para modelar sistemas que 
seguem o paradigma orientado a objetos. 
 Adequar arquiteturas de sistemas a partir de ajustes na modelagem 
decorrentes de requisitos não funcionais. 
 Construir uma arquitetura de sistemas a partir de ajustes na modelagem 
decorrentes de requisitos não funcionais. 
 Construir uma arquitetura de sistema completa utilizando modelos UML. 
 
Evidências de produto ou resultado 
 Resolução individual escrita de questionário e problematização. Projeto 
de especificação de estudo de caso. 
 Projeto de especificação do estudo de caso. 
 
 
 
 
 
 
 
2 
Análise e Projeto de Software Orientado a Objetos 
Revisão de Engenharia de Software e Orientação a Objetos 
 
 “Uma disciplina que reúne metodologias, métodos e ferramentas a 
serem utilizadas, desde a percepção do problema até o momento em 
que o sistema desenvolvido deixa de ser operacional, visando resolver 
problemas inerentes ao processo de desenvolvimento e ao produto de 
software.” 
 
 Engenharia de Software é uma abordagem sistemática e disciplinada 
para o desenvolvimento de software. [Pressman, 2006] 
 
 
 Aplicação de engenharia ao software deixar de desenvolver 
sistemas de maneira artesanal. 
 
 
 
 
Produto de Qualidade Processo Adequado 
 
 
3 
Processo de Software 
 Processo de software é o conjunto de atividades que leva à produção de 
um produto de software [Sommerville, 2007] 
 – Conjunto de ferramentas, métodos e práticas usadas para produzir um 
software. 
 Ciclo de vida do software: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Requerimento 
Projeto 
Implementação 
Verificação 
Manutenção 
 
 
4 
Processo de Software 
1. Entender o problema (comunicação e análise) 
2. Planejar uma solução (modelagem e design de software) 
3. Realizar o plano (geração do código) 
4. Examinar o resultado de precisão (testes e garantia de qualidade) 
RUP - Rational Unified Process 
 
RUP (ou Processo Unificado Racional), é um processo proprietário 
de Engenharia de software criado pela Rational Software Corporation, 
adquirida pela IBM, ganhando um novo nome IRUP que agora é uma 
abreviação de IBM Rational Unified Process e tornando-se uma brand na 
área de Software, fornecendo técnicas a serem seguidas pelos membros da 
equipe de desenvolvimento de software com o objetivo de aumentar a sua 
produtividade no processo de desenvolvimento. 
O RUP usa a abordagem da orientação a objetos em sua concepção e é 
projetado e documentado utilizando a notação UML (Unified Modeling 
 
 
5 
Language) para ilustrar os processos em ação. Utiliza técnicas e práticas 
aprovadas comercialmente. 
É um processo considerado pesado e preferencialmente aplicável a grandes 
equipes de desenvolvimento e a grandes projetos, porém o fato de ser 
amplamente customizável torna possível que seja adaptado para projetos de 
qualquer escala. Para a gerência do projeto, o RUP provê uma solução 
disciplinada de como assinalar tarefas e responsabilidades dentro de uma 
organização de desenvolvimento de software. 
O RUP é por si só, um produto de software. Com a função de modular e 
automatizar, e toda a sua metodologia é apoiada por diversas ferramentas de 
desenvolvimento integradas e vendidas pela IBM através de seus "Rational 
Suites". 
Métodos concorrentes no campo da engenharia de software incluem o 
"Cleanroom" (considerado pesado) e os Métodos Ágeis (leves) como 
a Programação Extrema (XP-Extreme Programming), Scrum, FDD e outros. 
 
 
 
 
 
 
 
 
 
 
 
6 
SCRUM 
Clique aqui e veja o vídeo (SCRUM em menos de 10 minutos) 
 
 
 
 
 
 
 
 
7 
 
Sistemas de Software 
 
 Um dos componentes de um SI 
 Compreende os módulos funcionais computadorizados que interagem entre si 
para proporcionar a automatização de diversas tarefas. 
 Características intrínsecas: complexidade 
 
 
Modelos de Software 
 Na construção de sistemas de software, assim como na construção 
de sistemas habitacionais, também há uma gradação e 
complexidade. 
 Fio – A construção desses sistemas necessita de um planejamento 
inicial 
 Modelo representação idealizada de um sistema que se planeja 
construir. 
 Fio – Ex: Maquetes de edifícios e de aviões e planas e circuitos 
eletrônicos são apenas alguns exemplos de modelos. 
 
 
 
8 
Modelos de Software 
 A construção de modelos atrasa o desenvolvimento do Software? 
– Gerenciamento da complexidade inerente ao desenvolvimento de 
software. 
– Comunicação entre as pessoas envolvidas. 
– Redução dos custos no desenvolvimento 
– Predição no comportamento futuro do sistema. 
 Diagramas e Documentação 
– Apresentação de uma coleção de elementos gráficos que possuem um 
significado predefinido e que seguem algum padrão lógico. 
– Regras de notação bem definidas. 
– Representação concisa de um sistema a ser construído. “uma figura 
vale por mil palavras” 
– Documentação diagrama + informação textual associada. 
 
 
 
 
9 
Modelagem de Software 
A modelagem de sistemas de software consiste na utilização de notações 
gráficas e textuais com o objetivo de construir modelos que representam as 
partes essenciais de um sistema, considerando-se diversas perspectivas 
diferentes e complementares. 
 
O Paradigma da Orientação a Objetos 
 Um paradigma é uma forma de abordar um problema 
– Forma pela qual um sistema de software é entendido e construído 
 
 Primeira abordagem paradigma estruturado. 
– Uso da técnica de decomposição funcional 
– “dívida sucessivamente um problema complexo em subproblemas” 
 
 Orientação a Objetos surgiu no fim dos anos 60. 
 
 Alan Kay, um dos pais desse paradigma, formulou a chamada 
analogia biológica. 
 
– “Como seria um sistema de software que funcionasse como um ser 
vivo?” 
– Cada “célula” interagiria com outras células através do envio de 
mensagens para realizar um objetivo comum. 
– Cada célula se comportaria como uma unidade autônoma. 
– Agentes autônomos que interagem entre si.

Continue navegando