Escolar Documentos
Profissional Documentos
Cultura Documentos
--------------------------------------------MÓDULO 1---------------------------------------------
LEI DE MOORE-
PROCESSO DE DESENVOLVIMENTO
Para desenvolver um software, isso vai além de uma digitação de linhas de código, tem de entender as necessidades
do negócio e a cultura do cliente, entender até onde vai o sistema de informação e tentar alcançar a qualidade no
projeto.
PILARES DO DESENVOLVIMENTO:
Métodos: conj de atividades de como fazer para desenvolver um sist de software.
Ferramentas: mecanismos que dão suporte à execução das atividades descritas no método.
Processos: juntas os métodos e ferramentas, definindo quando e onde fazer, indicando a sequencia de execução das
atividades, quais ferramentas utilizar e quem dever ser o responsável pela atividade.
Processo: conjunt de atividades executadas em uma determinada sequência e quais atividade serão executadas em
sequência; atividades devem ser executadas por pessoas q podem ser chamadas de papéis e devem produzir
resultado(artefatos); Papéis são responsáveis pelas atividades: analistas, projetistas, arquitetos de software;
desenvolvedores, clientes, avaliadores de qualidade.
Atividades fundamentais p engenharia de software: especificação de software; projeto e implementação de software;
validação de software e evolução ou implantação de software.
MODELOS DE ENG DE SOFTWARE:
Cascata; incremental; prototipagem; espiral e unificado;
PARADIGMA: conj de regras que estabelecem fronteiras entre o que é certo e errado, e entre o verdadeiro e o falso;
é uma forma de pensar e fazer o desenvolvimento de software; Ou seja é um método que caminha junto com o
desenvolvimento de software.
A orientação a objetos se dá pela tentativa de aproximar o desenvolvimento de software daquilo que acontece no
mundo real, sendo apoiado nos pilares: classe e objeto; abstração; encapsulamento; herança; poliformismo e ligação
e mensagem. Ela não é uma linguagem de promgração, não é uma plataforma de desenvolvimento; não é um
processo de desenvolvimento e não é uma ferramenta; Ela é confundida com UML, o que é errado.
UML: ferramenta de apoio, é uma linguagem de modelagem visual de sistemas orientada a objetos, possuindo
elementos gráficos de modelagem que representam visões de ums sitema de software que possui regras de sintaxe
e semântica;
---------------------------------------MÓDULO 2--------------------------------------------------
ENGENHARIA DE REQUISITOS:
Tem os fatores de insucesso e sucesso.
Fases “clássicas” de um projeto de software: análise de requisitos; projeto; implementação; testes e implantação.
Requisitos: são serviços que um sistema deve prestar e as suas restrições, sendo um conj de métodos,
procedimentos e ferramentas de funcionamento que vai refletir nas necessidades dos clientes, com intuito de
analisar, documentar, verificar e validar esses requisitos, ou seja, essa parte vai envolver as atividades relacionadas
aos ciclos.
Desafios: definição de requisitos inconscientes que leva a problemas que se estende por todo o ciclo de vida do
software, e requisitos mal definidos gera maior custa e maior tempo p desenvolver, e falhas geram u sistema com alto
custo de manutenção.
OBJETIVO: mapear as necessidades do negócio, montar um modelo que represente esses requisitos e que possa
servir como guia de comunicação para todos os interessados.
-Stakeholder: nome dado para os diversos interessados ou envolvidos no projeto, ou seja, cada steak tem uma
determinada necessidade para um determinado ponto de vista. Ex: cliente x desenvolvedor. Por isso
SOMMERVILLE(2010) sugere a separação dos requisitos a partir do seu nível de descrição: requisitos de usuário e
requisitos de sistema.
-Requisitos de usuário: declarações em linguagem natural, com diagramas de quais serviços o sistema deverá
fornecer a seus usuários e as restrições com as quais que ele deve operar (direcionados aos clientes, usuários,
gerentes de projeto e arquitetos de sistemas).
-Requisitos de sistema: descrições mais detalhadas das funções, serviços e restrições operacionais do sistema de
software(direcionados a usuários, arquitetos de sistema e desenvolvedores, pois podem definir uma sequencia de
implementação, o que influencia diretamente a solução dada
-Requisitos funcionais: descrevem o comportamento esperado de um sistema de software, explicitam o que o sistema
deve fazer, e o que o sistema deve não fazer.
-Requisitos não funcionais: descrevem restrições sobre os serviços oferecidos pelo sistema de software e chamados
tbm de atributos de qualidade.
GERENCIAMENTO DE REQUISITOS: requisitos sempre mudam, eles podem ser completos, inconsistentes e pode
também surgir novos. Gerenciar o relacionamento entre requisitos e gerenciar o relacionamento entre requisitos e os
documentos produzidos durante todo o projeto. Controle de versão e rastreabilidade.
DIAGRAMA DE CASOS DE USO: diagrama de caso de uso e um diagrama UML, q tem por objetivo mostrar, a partir
de um ponto de vista estático, o conjunt de casos de uso, atores e seus relacionamentos. DIAGRAMA NO SLIDE.
-----------------------------------------MÓDULO 3------------------------------------------------
Principais elementos do diagrama de atividades: ponto de início, atividade, fluxo de controle e ponto de conclusão.
VISÕES DA UML
Cada diagrama da UML tem um propósito, representa algo p determinado publico alvo”. E lembre-se que cada
modelo são representações de uma parte do sistema sob algum ponto de vista, e no caso você usada o diagrama
com base no propósito do projeto.
VISÕES DA UML-
-visão de caso de uso: diagrama de casos de uso, diagrama de processo e diagrama de atividade.
-visão lógica: estrutura estática(diagrama de classe e de objeto). Estrutura dinâmica(diagrama de estado, de
sequência, de colaboração, de interação e de atividades.)
-visão de processo: usados para os mesmos diagramas da visão lógica, mas com ênfase na linha de execução do
sistema.
-visão de implementação: diagrama de componentes.
-visão de implantação: diagrama de implantação.
VISÕES ESTRUTURAIS
Produz modelos que representam as necessidades do negócio, que são traduzidas nas funcionalidades de um
sistema de software. No entanto, no projeto de software, necessitamos de mais do que especificar as
funcionalidades, necessita especificar os proelmas q serão resolvidos. Para construir um software precisa de um
projeto, para não correr tantos riscos de ter requisitos funcionais e não funcionais implementados ou implementados
de maneira incorreta, dando resultado: baixa qualidade, retrabalho, aumento do custo e do prazo.
Quando fala de paradigmas da orientação a objetos, ou seja, de sistemas de software orientado a objetos, os
componentes do sistema podem ser interpretados como objetos e comunicação entre esses objetos e a comunicação
entre os objetos visa à execução de uma forma determinada tarefa, sendo que a representação desses objetos e à
relação entre eles dá-se o nome de visão estrutural, que basicamente é a representação da estrutura dos objetos e
da relação entre eles. O PARADIGMA DA ORIENTAÇÃO A OBJETOS é uma forma de se desenvolver um sistema de
software que o enxerga como um conj de componentes que interagem entre si para resolver um determinado
problema, sendo que cada componente dá se o nome do objeto. A motivação da abordagem orientada a objetos se
dá pela tentativa de aproximar o desenvolvimento de software daquilo que acontece no mundo real.
MODELO DE CLASSE DE DOMÍNIO: representa os objetos ou classes inerentes ao domínio do problema que
queremos resolver, deixando de lado, nessa visão, detalhes tecnológicos da solução do problema.