Introdução e conceitos - ENGENHARIA DE SOFTWARE II - PARTE 1
9 pág.

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


DisciplinaEngenharia de Software 2808 materiais3.012 seguidores
Pré-visualização1 página
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 
\uf0b7 Propor abstrações coerentes para um software de acordo com a 
especificação em nível de análise. 
\uf0b7 Construir diagramas utilizando corretamente a especificação da UML. 
\uf0b7 Propor ajustes pertinentes na modelagem para satisfazer requisitos não 
funcionais. 
\uf0b7 Evidenciar a compreensão sistêmica da especificação de projeto para 
um software orientado a objetos 
Atitudes requeridas 
\uf0b7 Compreender problemas do mundo real e propor soluções de software 
utilizando orientação a objetos. 
\uf0b7 Aplicar corretamente a linguagem UML para modelar sistemas que 
seguem o paradigma orientado a objetos. 
\uf0b7 Adequar arquiteturas de sistemas a partir de ajustes na modelagem 
decorrentes de requisitos não funcionais. 
\uf0b7 Construir uma arquitetura de sistemas a partir de ajustes na modelagem 
decorrentes de requisitos não funcionais. 
\uf0b7 Construir uma arquitetura de sistema completa utilizando modelos UML. 
 
Evidências de produto ou resultado 
\uf0b7 Resolução individual escrita de questionário e problematização. Projeto 
de especificação de estudo de caso. 
\uf0b7 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 
 
\uf0b7 \u201cUma 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.\u201d 
 
\uf0b7 Engenharia de Software é uma abordagem sistemática e disciplinada 
para o desenvolvimento de software. [Pressman, 2006] 
 
 
\uf0b7 Aplicação de engenharia ao software deixar de desenvolver 
sistemas de maneira artesanal. 
 
 
 
 
Produto de Qualidade Processo Adequado 
 
 
3 
Processo de Software 
\uf0b7 Processo de software é o conjunto de atividades que leva à produção de 
um produto de software [Sommerville, 2007] 
 \u2013 Conjunto de ferramentas, métodos e práticas usadas para produzir um 
software. 
\uf0b7 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 
 
\uf0b7 Um dos componentes de um SI 
\uf0b7 Compreende os módulos funcionais computadorizados que interagem entre si 
para proporcionar a automatização de diversas tarefas. 
\uf0b7 Características intrínsecas: complexidade 
 
 
Modelos de Software 
\uf0b7 Na construção de sistemas de software, assim como na construção 
de sistemas habitacionais, também há uma gradação e 
complexidade. 
\uf0b7 Fio \u2013 A construção desses sistemas necessita de um planejamento 
inicial 
\uf0b7 Modelo representação idealizada de um sistema que se planeja 
construir. 
\uf0b7 Fio \u2013 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 
\uf0b7 A construção de modelos atrasa o desenvolvimento do Software? 
\u2013 Gerenciamento da complexidade inerente ao desenvolvimento de 
software. 
\u2013 Comunicação entre as pessoas envolvidas. 
\u2013 Redução dos custos no desenvolvimento 
\u2013 Predição no comportamento futuro do sistema. 
\uf0b7 Diagramas e Documentação 
\u2013 Apresentação de uma coleção de elementos gráficos que possuem um 
significado predefinido e que seguem algum padrão lógico. 
\u2013 Regras de notação bem definidas. 
\u2013 Representação concisa de um sistema a ser construído. \u201cuma figura 
vale por mil palavras\u201d 
\u2013 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 
\uf0b7 Um paradigma é uma forma de abordar um problema 
\u2013 Forma pela qual um sistema de software é entendido e construído 
 
\uf0b7 Primeira abordagem paradigma estruturado. 
\u2013 Uso da técnica de decomposição funcional 
\u2013 \u201cdívida sucessivamente um problema complexo em subproblemas\u201d 
 
\uf0b7 Orientação a Objetos surgiu no fim dos anos 60. 
 
\uf0b7 Alan Kay, um dos pais desse paradigma, formulou a chamada 
analogia biológica. 
 
\u2013 \u201cComo seria um sistema de software que funcionasse como um ser 
vivo?\u201d 
\u2013 Cada \u201ccélula\u201d interagiria com outras células através do envio de 
mensagens para realizar um objetivo comum. 
\u2013 Cada célula se comportaria como uma unidade autônoma. 
\u2013 Agentes autônomos que interagem entre si.