Engenharia de Software: Introdução

Tamanho: px
Começar a partir da página:

Download "Engenharia de Software: Introdução"

Transcrição

1 Engenharia de Software: Introdução Eliane Martins Criado: mar/2002 Atualizado: mar/2006

2 Tópicos Sw de uso pessoal x Sw produto Evolução do papel do sw Características do sw A crise Mitos Objetivos da E/Sw O Processo 2

3 Referências I.Sommerville. Software Engineering. Addison-Wesley. 6ª edição, 2001, cap.3 R.S.Pressman. Software Engineering: a Practitioners Approach. Mc- Graw Hill,???, cap.??? B. Brügger. Component-based Software Engineering. Notas de aula. Universidade Técnica de Munique (TUM), Nov/1997. S.Easterbrook. Software Engineering I. Notas de aula. Universidade de Toronto, Obtido em julho/2004 no site: C.R.Santos; V.L.P.Santoro; O.C.Fernandes. Processo Unificado. Apresentação no curso de MO

4 Sw de uso pessoal: um programador um usuário vida curta Sw uso pessoal x Sw produto 4

5 Sw uso pessoal x Sw produto Sw de uso pessoal: um programador um usuário vida curta Sw produto: equipe de desenvolvimento múltiplos usuários longa duração enfoque sistemático para desenvolver e manter 5

6 Evolução do papel do sw Importância do sw em sistemas computacionais Causas: queda no custo do hw avanço da tecnologia do hw custo do desenvolvimento do sw custo de manutenção do sw 6

7 Evolução do papel do sw Importância do sw em sistemas computacionais Causas: queda no custo do hw avanço da tecnologia do mudança hw de enfoque no custo do desenvolvimento do sw desenvolvimento: hw sw custo de manutenção do demanda sw por sistemas computacionais Progama Apollo (1969): sw < 10Mbytes Progama Columbus : sw 100Mbytes [Sommerville2007, c.2] 7

8 Evolução do papel do sw Importância do sw em sistemas computacionais Causas: queda no custo do hw avanço da tecnologia do hw custo do desenvolvimento do sw custo de manutenção do sw complexidade do sw : novas técnicas de desenvolvimento e manutenção necessidade de equipes 8

9 Evolução do papel do sw Importância do sw em sistemas computacionais Causas: queda no custo do hw avanço da tecnologia do hw custo do desenvolvimento do sw custo de manutenção do sw custo com pessoal complexidade do sw 9

10 Evolução do papel do sw Importância do sw em sistemas computacionais Causas: queda no custo do hw avanço da tecnologia número do hw de sistemas em operação custos com manutenção custo do desenvolvimento do sw custo de manutenção do sw 10

11 Características do sw Sw x Hw: sw não é manufaturado sw é invisível, intangível, abstrato sw não é governado por leis físicas sw pode ser totalmente replicado sw é cada vez mais caro que o hw 11

12 % custo Hardware Desenvolvi mento do sw Mnutenção do sw [B.Boehm, 1976] 12

13 Sw x Hw: Características do sw sw não se desgasta com o uso, mas se degrada com as modificações hw sw taxa de falhas mortalidade infantil desgaste taxa de falhas alteração real ideal tempo tempo 13

14 Sw x Hw: Características do sw sw não se desgasta com o uso, mas se degrada com as modificações custos com manutenção Desenvolvimento Manutenção 35-40% Desenvolvimento Desenvolvimenttenção Manu % Manutenção 70-80%

15 A crise do sw Crise ou doença crônica? A maioria dos grandes sistemas de sw: ultrapassam os custos pré-estabelecidos, são entregues com atraso, não correspondem ao que o usuário esperava. It s late, costly, incompetent - but try firing a computer system J.Rothfeder,

16 A crise do sw 2% 3% Utilizável 47% 29% Utilizável após correções Não terminados Abandonados 19% Nunca usados [Lehman 90] 16

17 Exemplos Anos 80: Força Aérea Americana, sw de comando e controle: custo inicial estimado: U$ ,00 custo final: U$ ,00 Sw de recebimento de imposto de renda (EUA): [Jalote97, 1.1.2] qualidade: o sistema se mostrou inadequado para a carga esperada custo: a Receita Federal dos EUA gastou mais U$ ,00 para corrigir o sw que custou U$ ,00 devido ao atraso, a RF ainda teve de pagar mais U$ ,00 de multas por atraso e juros [B.Brügge 97, Notas de curso TUM] 17

18 Exemplos Ônibus Espacial: Custo: U$ ,00 (vários milhões a mais do que o estimado) Prazo: 3 anos de atraso [B.Brügge 97, Notas de curso TUM] Qualidade: primeiro lançamento do Columbia foi cancelado devido a problemas de sincronização de seus 5 computadores de bordo causa: modificação feita 2 anos antes, em que tempo de espera de um tratador de interrupção passou de 50ms para 80ms o erro era um evento raro, tanto que não foi detectado durante as mais de mil horas de teste muitos erros ainda subsistem. Os astronautas recebem um livro contendo os problemas de sw que já são conhecidos. 18

19 Mitos - 1 Uso de computadores de última geração qualidade do sw Uso de ferramentas CASE de última geração qualidade do sw Atraso no desenvolvimento aumentar equipe Desenvolvimento pode ser iniciado com descrição geral dos objetivos; detalhes são acrescentados depois 19

20 Mitos - 2 Mudanças nos requisitos são facilmente acomodadas pois o sw é flexível Sw pronto equipe de sw é desnecessária Enquanto o sw não está rodando, não há meios de se avaliar sua qualidade O único produto do desenvolvimento de sw é o programa rodando 20

21 Engenharia de Software - surgimento Surgiu em em reunião da OTAN O termo veio do nome da conferência Motivação: Dificuldade da indústria em produzir software grande e complexo Participantes: Manufatura de computadores, usuários, software houses, academia Para documentos iniciais veja em: 21

22 Sistemas socio-técnicos Grande desafio da Engenharia de Software hoje em dia Sistemas que envolvem hw, sw, pessoas e mais políticas e regras organizacionais Têm propriedades que devem ser satisfeitas pelo sistema como um todo, e não por suas partes individuais São geralmente indeterministas, i.e, para as mesmas entradas, nem sempre são produzidas as mesmas saídas (pode depender das reações humanas) Políticas e regras organizacionais variam com o tempo 22

23 Engenharia de Software Uma disciplina que reúne metodologias, métodos e ferramentas a serem utilizados 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. [Carvalho e Chiossi 2001] Conjunto de metodologias, métodos e ferramentas que auxiliam na produção de software de alta qualidade dentro dos prazos e custos esperados. [B.Brügge 97, Notas de curso TUM] 23

24 Engenharia de Software Método: procedimento formal (ou sistemático) que usa notações bem definidas para obter resultados Metodologia: conjunto de métodos aplicados ao longo do desenvolvimento, unificados por uma abordagem filosófica Ferramenta: instrumento ou software que apoia a realização de um método Processo: É o que as pessoas fazem para adquirir, desenvolver, manter ou melhorar produtos de software 24

25 Processo Modelo genérico: definição desenvolvimento manutenção 25

26 Processo Modelo genérico: definição desenvolvimento O quê deve ser feito: que dados serão usados? que funções serão realizadas? quais as restrições? quais os custos? quais os riscos? manutenção quais os prazos? 26

27 Processo Conjunto de atividades necessárias Como deve para ser feito: obter um produto de sw Modelo genérico: definição desenvolvimento como estruturar o sw? como implementar os dados? como implementar as funções? como implementar as restrições? como verificar se o sw está sendo desenvolvido corretamente? como validar o produto desenvolvido? manutenção 27

28 Processo Conjunto de atividades necessárias para se obter um produto de sw Modelo genérico: definição desenvolvimento Alterações: corrigir bugs ; adaptar a novos ambientes; acrescentar novos requisitos; melhorar a manutenção; determinar se modificações não fizeram o sw regredir; manutenção 28

29 Processo Modelo genérico levando em conta Verificação e Validação (V&V) definição Validação: o sw faz o que o cliente quer? desenvolvimento Verificação: manutenção o sw correto está sendo produzido? 29

30 Modelos de processo: para que? Objetivos O que deve ser feito a seguir? Por quanto tempo deve-se continuar a fazê-lo? Importância Gerente: controlar o desenvolvimento, aquisição e manutenção do sw Desenvolvedor: obter uma base para produzir adquirir ou manter, de maneira eficiente, um sw que satisfaça aos requisitos estabelecidos 30

31 Modelos de Processo e de Melhoria de Processos Modelos de melhoria de processo: CMMI, SPICE, MPS.BR,... Descrição de processo genérico: papéis, atividades, artefatos Ex.: Processo Unificado boas práticas, níveis de capacidade, áreas chave de processo,... Descrição de processo da empresa: papéis, atividades, artefatos Processo da empresa: o que as pessoas fazem [Clênio S. 2005] 31

32 Principais modelos de processo genéricos Existem vários modelos genéricos de processo de ciclo de vida: codifica e corrige cascata ( waterfall model ) variante do cascata evolutivo incremental espiral transformacional processo sala limpa baseado em componentes 32

33 Passos: Modelo codifica e corrige 1. Escrever o código 2. Eliminar os bugs Necessidades do usuário desenvolvimento produto 33

34 Dificuldades: Modelo codifica e corrige após um certo número de alterações a estrutura do código era perdida custo com alterações necessidade de uma fase de projeto freqüentemente o sw, mesmo bem estruturado, não satisfazia ao usuário necessidade de uma fase de análise de requisitos custo de correção do código era alto necessidade de uma fase de testes 34

35 Modelo cascata Características: criado em 1970 consistente com modelo de programação top-down: requisitos (+ abstrato) código Requisitos Análise Projeto Codificação Testes Operação e Manutenção 35

36 Modelo cascata Características: O sw nem sempre pode ser desenvolvido de forma top-down Dificilmente os requisitos são obtidos de forma completa, precisa e consistente logo de início Uma versão executável do sistema só é obtida ao final do desenvolvimento, quando então se avalia a qualidade 36

37 Modelo cascata - variante Uma das variantes do modelo, apresentada em [Boehm 1976], incorpora atividades de verificação e validação (V&V): Verificação: o produto está sendo construído corretamente? Validação: o produto correto está sendo construído? Requisitos Análise Projeto Codificação Testes Operação e Manutenção 37

38 Modelo cascata - variante Características: Realimentação entre as fases permite melhoria na qualidade desde cedo Ainda exigência de requisitos completos, precisos e consistentes desde cedo 38

39 Modelo baseado em protótipo descartável Desenvolvimento e implementação de produto inicial (protótipo) que é submetido ao usuário para avaliação Uso de um protótipo descartável ( throw-away prototyping ) ou rápido projeto, implementação e testes são rápidos e informais o protótipo é avaliado, ajudando a consolidar requisitos necessidades do usuário Análise Projeto Codificação Testes Operação e Manutenção Projeto do protótipo Refinamento Uso do protótipo Análise dos resultados Realimentação do usuário 39

40 Protótipo descartável Usuário definiu objetivos gerais do sw, mas não detalhes sobre entradas, procedimentos e saídas O desenvolvedor quer avaliar a eficiência de um algoritmo, ou a forma da interface-usuário Usuários são envolvidos desde cedo na avaliação do sw Requisitos ficam estáveis mais cedo O usuário se contenta com o protótipo e não tem paciência de esperar pelo produto final qualidade do sw O desenvolvedor usa o protótipo como um produto final, por estar familiarizado com ele qualidade do sw O processo não é visível (não há documentação) difícil de gerenciar 40

41 Protótipo descartável Definir as regras do jogo no início: desenvolvedores e clientes devem estar cientes de que o protótipo será descartado tão logo os objetivos tenham sido atingidos Adaptar gerenciamento Usar ferramentas que facilitem a criação de protótipos 41

42 Modelo em fases Voltados para sistemas grandes: pode-se usar diferentes abordagens para diferentes partes do sistema permite repetir partes do processo na medida em que os requisitos evoluem Principais abordagens: evolutiva (evolutionary development) incremental espiral 42

43 Desenvolvimento evolutivo - 1 Também chamado de processo exploratório Protótipo vai evoluindo até chegar ao sistema final O sw é produzido em partes menores (incrementos) Cada incremento é entregue ao usuário O primeiro incremento geralmente constitui o núcleo do sistema, contendo todos os requisitos básicos já conhecidos Os resultados da avaliação do desenvolvimento da versão precedente servem de base para produção do próximo incremento Cada versão (novo incremento) incorpora novos requisitos 43

44 Desenvolvimento evolutivo - 2 Ex.: sistema de editoração eletrônica 1º incremento: funções básicas de manipulação e edição de arquivos; produção de documentos 2º incremento: funções avançadas de edição e produção de documentos 3º incremento: verificador de ortografia e gramática... 44

45 incremento 1 análise projeto codificação testes integração O&M incremento 2 análise projeto codificação testes integração O&M incremento N... análise projeto codificação testes integração O&M O&M: Operação e Manutenção tempo [Sommerville96] 45

46 Desenvolvimento evolutivo modelo mais realista que o cascata, pois não exige requisitos completos desde o início: à medida em que o usuário utiliza partes já prontas, pode identificar novos requisitos útil quando equipe é pequena para desenvolver todo o sistema partes mais difíceis (ou básicas) podem ser produzidas primeiro, sendo avaliadas mais tempo interação cliente/usuáriodesenvolvedores incrementos continuam a ser desenvolvidos segundo o modelo cascata custo de gerenciamento não existe especificação completa antes que o último incremento tenha sido desenvolvido problema se especificação faz parte do contrato com o cliente 46

47 Desenvolvimento incremental Proposto por H. Mills em 1980 O sistema é desenvolvido por partes Clientes identificam requisitos (serviços a serem fornecidos) e classificam-nos por ordem de prioridade Número e tamanho dos incrementos é definido Distribuem-se os serviços pelos incrementos de acordo com prioridades: serviços mais prioritários são entregues antes Cada novo incremento acrescenta um novo requisito ao sistema Os incrementos são produzidos utilizando-se o processo de desenvolvimento preferido 47

48 Desenvolvimento incremental Define requisitos preliminares Estabelece nº de incrementos Atribui requisitos aos incrementos Projeta arquitetura do sistema Desenvolve incremento Valida o incremento Integra incremento sistema incompleto Valida o sistema sistema final 48

49 Desenvolvimento incremental Diminui o retrabalho no processo de desenvolvimento do modelo cascata Os clientes não precisam esperar que o sistema final seja entregue Partes mais básicas podem ser produzidas primeiro, sendo validadas mais vezes Clientes podem usar incrementos entregues como protótipos para ajudar no levantamento de requisitos dos próximos Diminui o risco de insucesso total do projeto: alguns incrementos deverão ser bem sucedidos Incrementos devem ser pequenos (< LOC) e cada incremento deve realizar pelo menos um serviço pode ser difícil mapear serviços em incrementos Requisitos só são detalhados no momento em que os incrementos são desenvolvidos difícil identificar recursos comuns a mais de um incremento 49

50 Modelo espiral Características: Proposto por Barry Boehm, 1988 Desenvolvimento incremental: a cada volta na espiral, versões mais completas do sw são construídas Análise de risco a cada novo incremento: riscos: circunstâncias adversas que podem comprometer tanto o processo de desenvolvimento quanto a qualidade do produto Possibilidade de incorporar diversos modelos de processo: escolha do modelo de processo depende dos resultados de avaliações do produto gerado em etapas anteriores e na análise de risco feita no início da etapa corrente 50

51 Modelo Espiral Ativação: determina objetivos, alternativas e restrições Análise dos riscos: avalia alternativas; identifica e resolve riscos custos e prazos Plano de Desenvolvimento Plano de Testes e Integração Planejamento da próxima iteração Validação dos Requisitos Operação V&V do Projeto Preliminar Testes e integração Codificação custos custos custos e prazos e prazos e prazos protótipo 1 protótipo 2 protótipo 3 Plano de Requisitos, conceito Modelo de ciclo de Requisitos Projeto de vida operação Preliminar protótipo 4 Projeto Detalhado Desenvolvimento: desenvolve; verifica 51

52 Modelo espiral Passos: Identificação dos objetivos do incremento, meios alternativos para implementá-lo, restrições Planejamento e análise de riscos de cada alternativa, determinando estratégias para reagir aos mesmos (ou abandonar o Projeto) Desenvolver o incremento, usando o modelo de desenvolvimento mais adequado ao mesmo Avaliação dos resultados da etapa anterior e planejamento da próxima fase 52

53 Modelo espiral Acompanha todo o ciclo de vida do sw Combina modelo evolutivo com cascata (ou outros) Permite a usuários e desenvolvedores identificar riscos e se preparar para evitá-los ou contorná-los Ideal para grandes Projetos É difícil convencer os clientes de que o modelo evolutivo é controlável Requer especialistas em identificação e análise de riscos Há poucos dados sobre sua eficácia 53

54 Modelo transformacional Característica: Passos: produto é desenvolvido a partir de transformações sucessivas: especificação dos requisitos... código 1 descrição dos requisitos preliminares (formal) 2 transformações sucessivas dessa descrição até obter código 3 repetição dos passos 1 e 2 para refinar o produto 4 uso do produto obtido 5 refinamento da especificação com base nos resultados do uso, repetindo-se passos 1 a 4 54

55 Linguagens de 4ª Geração (4GL) O termo 4GL foi cunhado por James Martin para designar linguagens de alto nível, não orientadas a procedimentos e construídas em torno de um banco de dados. Depois disso, com a experiência adquirida em certas áreas, surgiram as linguagens específicas para um domínio de aplicação: Linguagens para geração de relatórios: descrição de formato de dados e do relatório (ex.: Speedware Linguagens de consulta para BDs: SQL PostScript, PDF: linguagens para descrição de páginas de impressão contendo texto e gráficos Mathematica: realização de cálculos matemáticos, geração de gráficos,

56 Modelo transformacional Tempo de desenvolvimento para aplicações pequenas e médias diminui Uso de linguagens de 4ª geração (4GL) se expande para diversas áreas, facilitado pelo uso de CASEs e geradores de código Algumas 4GL não são fáceis de usar Código gerado automaticamente não é eficiente Manutenibilidade ainda é discutível Fases de análise, projeto e testes mais elaboradas para o caso de sistemas grandes 56

57 Modelo baseado em componentes Componentes: artefatos de sw construídos para reuso artefatos: planos de Projeto, estimativas de custo, arquitetura, modelos de requisitos e/ou projeto, código fonte, casos de teste,... Desenvolvimento baseado em componentes: incorpora características do modelo espiral mas sw é construído a partir da composição de componentes já existentes, que podem tanto ser de terceiros quanto comerciais (COTS) ganho em produtividade e custo mas componente precisa ter boa qualidade! 57

58 Desenvolvimento com reúso Identificar componentes candidatos Buscar em biblioteca de componentes Extrair os componentes disponíveis Construir a nª iteração do sistema Inserir os novos componentes na biblioteca Construir os componentes não encontrados 58

59 Modelo para construção de componentes Análise de domínio Desenvolvimento da arquitetura Desenvolvimento do componente Modelo de domínio Modelo estrutural Repositório de componentes 59

60 Especificação dos Requisitos Modelo orientado para os testes (Modelo V) Revisão dos Requisitos Revisão dos testes de Sistemas e de Aceitação Especificação, Projeto e Implementação dos testes de Sistemas e de Aceitação Execuçãodos testes de Sistemas e de Aceitação Projeto Revisão do Projeto Revisão dos testes de Integração Especificação, Projeto e Implementação dos testes de Integração Execução dos testes de Integração Codificação Revisão do Código Revisão dos testes de Unidades Execução dos testes de Unidades Especificação, Projeto e Implementação dos testes de Unidade 60

61 Modelo V para sistemas críticos Espec Req Inocuidade do sistema Arquitetura do sistema Especificação dos Requisitos de Inocuidade do Software Arquitetura do Software Projeto do Software Base: IEC Teste de Validação Teste de Integração (Componentes, subsistemas, hw) Teste de Integração (Módulos) Projeto de um Módulo do Sw Teste de um Módulo do Sw Codificação 61

62 Exemplo de modelo genérico de processo O Processo Unificado (UP, de Unified Process): É um modelo genérico de um processo de desenvolvimento É iterativo e incremental É baseado em componentes Utiliza a UML (Unified Modeling Language) UML A Linguagem de Modelagem Unificada é um método aberto usado para especificar, visualizar, construir e documentar artefatos de um sistema de sw orientado a objetos. Permite que o desenvolvedor visualize o produto de seus trabalhos em diagramas padronizados 62

63 Processo Unificado Ciclo de vida UP repete ciclos até a aposentadoria do produto Cada ciclo gera um produto liberado para uso Cada ciclo possui quatro fases Cada fase é dividida em iterações A cada iteração é gerado um conjunto de artefatos Há um marco (milestone) ao final de cada fase 63

64 Fases de um ciclo do UP tempo Cada ciclo do UP possui 4 fases: Concepção: Definição do escopo e fronteiras do sistema Elaboração: Criação da arquitetura Plano de projeto e riscos Construção Desenvolvimento iterativo e incremental Transição Implantação e evolução 64

65 Workflows de cada fase Cada iteração é composta de passos (workflows): Requisitos Análise Projeto Implementação Testes Modelo Caso de Uso Modelo Análise Modelo Projeto Modelo Implantação Modelo Implementação Modelo Teste 65

66 Fases e Workflows 66

67 Papéis e Responsabilidades Analistas: coordena a modelagem dos processo e executa o levantamento das regras de negócios envolvidos no projeto Analistas de Negócios Analistas de Sistemas coordena o levantamento de requisitos e a modelagem especificação de casos de uso 67

68 Papéis e Responsabilidades Desenvolvedores: Estabelece a estrutura geral da arquitetura para cada uma de suas visões Arquiteto: Integrador Responsável pelo planejamento das integrações do projeto e dos componentes implentados pelos programadores Programador Projetista de É o responsável pela implementação e testes dos componentes de acordo com os padrões estabelecidos pelo projeto Banco de Dados Define as construções específicas de bancos de dados necessárias ao armazenamento,obtenção e exclusão de dados 68

69 Papéis e Responsabilidades Gerentes: É responsável pela disponibilização da infra-estrutura geral de configuração e mudanças do projeto para a equipe de desenvolvimento Configuração Implantação Projeto É responsável pelo planejamento da transição do produto para os usuários Aloca recursos, define prioridades, coordena as interações com os clientes e usuários 69

70 Papéis e Responsabilidades Equipe de Testes Responsável pelo planejamento e avaliação dos resultados dos testes Gerente de testes Projetista de teste Implementador Responsável pelo projeto das entradas e do ambiente de testes dos testes Responsável pela implementação, configuração e execução dos testes 70

71 Desenvolvimento dirigido por modelos MDD (Model Driven Development) Foco do desenvolvimento de sw: Programação modelos e transformações entre modelos Modelos completos e precisos, a partir dos quais pode-se gerar código (e testes) automaticamente 71

72 Motivação Abordagens tradicionais: Fazem pouco uso de abstração, reuso e automação Mapeamento de modelos para código ainda é feito manualmente Modelos de brinquedo, que não são mantidos, atualizados e reutilizados Codificação é o foco do desenvolvimento 72

73 MDA MDA (Model-Driven Architecture) Framework para o desenvolvimento dirigido por modelos Iniciativa da OMG (Object Management Group) Fonte: G.Elias. MDA. Tutorial SBCARS

74 O que significa Arquitetura em MDA? Estende o significado de Arquitetura de Software para uma arquitetura de um sistema de modelos: Modelos são conectados e estruturados por relacionamentos de transformação Especifica os tipos de modelos, como podem ser preparados e o tipo de relacionamentos entre eles 74

75 Visões na MDA Pontos de vista: formas diferentes de ver um sistema Visão: representação do sistema segundo um ponto de vista Visões da MDA: CIM (Computational Independent Model) PIM (Platform Independent Model) PSM (Platform Specific Model) 75

76 Plataforma Plataforma genérica: Objetos, processos,... Plataforma específica de tecnologia Corba, Java2 components,... Plataforma específica de fabricante Microsoft.NET, IBM Websphere,... Existem diferentes graus de independência de plataforma 76

77 Visão CIM Foca no sistema, no ambiente do sistema e nos seus requisitos Abstrai (esconde) detalhes da arquitetura do sistema Abstrai detalhes da plataforma de execução do sistema Usa vocabulário do domínio do problema 77

78 Visão PIM Foca nas operações (serviços) do sistema, abstraindo detalhes sobre a plataforma Permite que a especificação sirva para diversas plataformas Pode usar uma linguagem de modelagem de propósito geral ou específica de uma plataforma genérica 78

79 Visão PSM PIM + detalhes inerentes a uma plataforma específica (de tecnologia, de fabricante) Inclui representações mais detalhadas do que aquelas do PIM + representações de aspectos que não aparecem no PIM 79

80 Modelos Para cada tipo de visão, tem-se diferentes tipos de modelos: CIM Modelo de domínio ou de negócios PIM Modelo do sistema PSM Modelo detalhado do sistema + código PM (Modelo de plataforma): Descreve a plataforma e como utilizá-la 80

81 Transformação entre modelos Modelo Independente de Computação (CIM) Modelo Independente de Plataforma (PIM) Transformação Modelos Específicos de Plataforma (PSM) J2EE Corba.Net 81

82 Ciclo de vida com MDA Requisitos Análise Projeto Codificação Testes Entrega textual PIM PSM código código Modelos não são unicamente parte de documentos, mas são a fonte para o desenvolvimento Realimentação rápida através de simulação e geração automática de código Geração de testes com base nos modelos Modelos específicos de domínio facilitam a comunicação com usuários 84

83 Desenvolvimento de sw: Comentários finais diferente de outros produtos da Engenharia muitos dos modelos de desenvolvimento existentes não se aplicam; por exemplo, não existe uma etapa de fabricação o comportamento do sw não é completamente conhecido Modelos de desenvolvimento de sw: permite identificar áreas problemáticas permite sintetizar as diferentes alternativas para a solução de dificuldades dá suporte ao gerenciamento existem várias visões: cascata, em fases,... nenhum modelo é perfeito 85

84 Escolha do modelo depende: da natureza do Projeto Comentários finais da equipe de desenvolvimento e do estilo de gerenciamento do grau de sofisticação do cliente/usuário do ambiente de desenvolvimento Atividades essenciais de um bom processo: descrição do problema (o quê deve ser feito?) descrição da solução (como deve ser feito?) verificação (a solução adotada responde ao problema descrito?) validação (o problema correto foi resolvido?) 86

Professor: Curso: Disciplina:

Professor: Curso: Disciplina: Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Jonas de Souza H2W SYSTEMS

Jonas de Souza H2W SYSTEMS Jonas de Souza H2W SYSTEMS 1 Tecnólogo em Informática Fatec Jundiaí MBA em Gerenciamento de Projetos FGV Project Management Professional PMI Mestrando em Tecnologia UNICAMP Metodologia de apoio à aquisição

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP RUP Rational Unified Process ( Unificado de Desenvolvimento da Rational) Conjunto de passos que tem como objetivo atingir uma meta de software na ES, processo que visa a produzir o software - de modo eficiente

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia Princípios da Engenharia de Software Aula 02 Prof.: Franklin M. Correia Na aula anterior... Introdução a Engenharia de Software O que é software? O que é Engenharia de Software? Conceitos importantes Tipos

Leia mais

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

Leia mais

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia

Leia mais

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software. Processos de Software Objetivos Apresentar os modelos de processo de software Conjunto coerente de atividades para especificar, projetar, implementar e testar s de software Descrever os diferentes modelos

Leia mais

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.

Leia mais

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

Leia mais

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Engenharia de Software: Introdução Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. UML 3. O Processo Unificado 1. Captura de requisitos 2.

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Processo Unificado (RUP)

Processo Unificado (RUP) Fases do Desenvolvimento Processo Unificado (RUP) Ulf Bergmann ulf@ime.eb.br Domínio do Problema Objetos Objetos do do Mundo Mundo real real Modelo Semântico Domínio da Solução Aplicação Interface Serviços

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3 Processos de Desenvolvimento de Software Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3 Modelos de Processo de Software O Modelo Sequencial Linear Aula passada também chamado Modelo Cascata

Leia mais

A Disciplina Gerência de Projetos

A Disciplina Gerência de Projetos A Disciplina Gerência de Projetos Atividades, Artefatos e Responsabilidades hermano@cin.ufpe.br Objetivos Apresentar atividades da disciplina Gerência de Projetos Discutir os artefatos e responsáveis envolvidos

Leia mais

Especialização em Engenharia de Software e Banco de Dados

Especialização em Engenharia de Software e Banco de Dados Especialização em Engenharia de Software e Banco de Dados Disciplina: Engenharia de Software Tópico: Modelos de Ciclo de Vida Prof. Rodolfo Miranda de Barros rodolfo@uel.br Ciclo de Vida A Engenharia de

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE CMP1280/CMP1250 Prof. Me. Fábio Assunção Introdução à Engenharia de Software SOFTWARE Programa de computador acompanhado dos dados de documentação e configuração

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

Leia mais

O modelo unificado de processo. O Rational Unified Process, RUP.

O modelo unificado de processo. O Rational Unified Process, RUP. Cursos: Sistemas de Informação Disciplina: Administração ADM Prof. Jarbas Avaliação: Prova B1, 5º/6º semestres Data: 27/09/2010 Nome: Gabarito RA: Assinatura: Turma: 1) Segundo as afirmações a seguir,

Leia mais

Processos de Software

Processos de Software Processos de Software Prof. Márcio Lopes Cornélio Slides originais elaborados por Ian Sommerville O autor permite o uso e a modificação dos slides para fins didáticos O processo de Um conjunto estruturado

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 3 http://www.ic.uff.br/~bianca/engsoft2/ Aula 3-29/04/2006 1 Monitoria Marina Albuquerque E-mail: monitoriaes2@yahoo.com.br Horário de Atendimento: Terça e quinta de 09:00

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Engenharia de Software Processo de Desenvolvimento de Software

Engenharia de Software Processo de Desenvolvimento de Software Engenharia de Software Processo de Desenvolvimento de Software Prof. Edison A. M. Morais prof@edison.eti.br http://www.edison.eti.br Objetivo (1/1) Conceituar PROCESSO E CICLO DE VIDA, identificar e conceituar

Leia mais

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

Leia mais

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software Introdução à Engenharia de Gidevaldo Novais (gidevaldo.vic@ftc.br) Introdução à Engenharia de Objetivo Depois desta aula você terá uma noção geral do que é a engenharia de software e dos seus objetivos

Leia mais

Processo de Desenvolvimento Unificado

Processo de Desenvolvimento Unificado Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas

Leia mais

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr Processos de Desenvolvimento de Software Objetivos Descrever o processo de desenvolvimento de software Orientado a Objetos (Object Oriented Software Development - OOSD) Descrever como a modelagem suporta

Leia mais

Engenharia de Software 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br

Engenharia de Software 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br Engenharia de Software 01 - Introdução Márcio Daniel Puntel marciopuntel@ulbra.edu.br Engenharia de Software Nações desenvolvidas dependem de software; Cada vez mais sistemas são controlados por software;

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

Leia mais

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004 Introdução ao RUP Rational Unified Process por Denize Terra Pimenta Outubro/2004 1 Contexto Não é suficiente apenas a presença de desenvolvedores altamente treinados: Precisamos de uma linguagem para a

Leia mais

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS Elicitação Ciclo de Vida Clássico ou Convencional O Modelo Cascata Análise Ana Paula Terra Bacelo Blois Implementação Material Adaptado do Prof. Marcelo Yamaguti

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL Um processo é um conjunto de passos parcialmente ordenados, constituídos por atividades, métodos, práticas e transformações,

Leia mais

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2 .:: Universidade Estadual de Maringá Bacharelado em Informática Eng. de Software III :. Sistema de Gerenciamento de Eventos - Equipe 09 EPSI Event Programming System Interface Metodologia e Gerenciamento

Leia mais

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE Prof. Msc. Hélio Esperidião O QUE É UM ALGORITMO? É qualquer procedimento computacional bem definido que informa algum valor ou conjunto de valores como entrada

Leia mais

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva. juliocesar@tecnocracia.eti.br. Http://e-academy.com.br

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva. juliocesar@tecnocracia.eti.br. Http://e-academy.com.br Faculdade Pitágoras Engenharia de Software Prof.: Julio Cesar da Silva juliocesar@tecnocracia.eti.br Http://e-academy.com.br Evolução do Software (1950 1965) - O hardware sofreu contínuas mudanças - O

Leia mais

ENG1000 Introdução à Engenharia

ENG1000 Introdução à Engenharia ENG1000 Introdução à Engenharia Aula 01 Processo de Desenvolvimento de Software Edirlei Soares de Lima Processo de Software O processo de software consiste em um conjunto estruturado

Leia mais

Fundamentos de Engenharia de Software Professor Rafael Escalfoni

Fundamentos de Engenharia de Software Professor Rafael Escalfoni Escola Superior de Gestão e Tecnologia Fundamentos de Engenharia de Software Professor Rafael Escalfoni Introdução a Engenharia de Software Aula 1 1 Fundamentos em Engenharia de Software Objetivos da disciplina

Leia mais

O Processo Unificado

O Processo Unificado UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA O Processo Unificado 879SCC Projeto e Desenvolvimento de Sistemas

Leia mais

PROFESSOR: CRISTIANO MARIOTTI

PROFESSOR: CRISTIANO MARIOTTI PROFESSOR: CRISTIANO MARIOTTI Conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software; Considerado um dos principais mecanismos para se obter software de qualidade

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos e Metodologias para Desenvolvimento de Software Cascata, Prototipação, Espiral e RUP Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Modelos de processos de desenvolvimento de software

Modelos de processos de desenvolvimento de software Definição Um modelo de processo de software é uma representação abstrata de um processo. Os modelos de processo podem ser desenvolvidos a partir de várias perspectivas e podem mostrar as atividades envolvidas

Leia mais

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software Análise e Projeto de Sistemas Análise e Projeto de Sistemas Contextualização ENGENHARIA DE SOFTWARE ANÁLISE E PROJETO DE SISTEMAS ENGENHARIA DA INFORMAÇÃO Perspectiva Histórica Engenharia de Software 1940:

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

Introdução à Qualidade de Software. Profº Aldo Rocha

Introdução à Qualidade de Software. Profº Aldo Rocha Introdução à Qualidade de Software Profº Aldo Rocha Agenda O que é Qualidade? O que é Qualidade de Software? Qualidade do Produto e do Processo Normas e Organismos Normativos Qualidade de Software e Processos

Leia mais

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no 1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified

Leia mais

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br Modernização e Evolução do Acervo de Software Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br Tópicos 1. Estudo Amplo sobre Modernização 2. Visão IBM Enterprise Modernization 3. Discussão - Aplicação

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos de Software Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br Objetivo da aula Depois desta aula você terá uma visão sobre o conceitos

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados! Conclusões 2 Processo

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Prof. José Honorato F.N. Prof. José Honorato F.N. honoratonunes@gmail.com Requisitos de Software Software é o conjunto dos programas e dos meios não materiais que possibilitam o

Leia mais

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Introdução Departamento de Matemática Universidade dos Açores Hélia Guerra helia@uac.pt Engenharia de software A economia de todos os países desenvolvidos depende do software. O

Leia mais

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Agenda Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Introdução Processo de software é o conjunto de ferramentas, métodos

Leia mais

PROJETO DE FÁBRICA DE SOFTWARE

PROJETO DE FÁBRICA DE SOFTWARE FACULDADE SETE DE SETEMBRO FASETE Departamento de Sistemas de Informação PROJETO DE FÁBRICA DE SOFTWARE Denise Xavier Fortes Paulo Afonso BA Agosto/2015 Sumário 1. INTRODUÇÃO... 3 2. PERFIS FUNCIONAIS...

Leia mais

Manutenção e Ferramentas CASE. Marcos L. Chaim Segundo Bimestre 2003 Mestrado Profissional IC/Unicamp

Manutenção e Ferramentas CASE. Marcos L. Chaim Segundo Bimestre 2003 Mestrado Profissional IC/Unicamp Manutenção e Ferramentas CASE Marcos L. Chaim Segundo Bimestre 2003 Mestrado Profissional IC/Unicamp O que é manutenção de software? mudanças que devem ser feitas nos programas de computadores depois de

Leia mais

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

Metodologia e Gerenciamento do Projeto na Fábrica de Software

Metodologia e Gerenciamento do Projeto na Fábrica de Software .:: Universidade Estadual de Maringá Bacharelado em Informática Eng. de Software III :. Sistema de Gerenciamento de Eventos - Equipe 09 EPSI Event Programming System Interface Metodologia e Gerenciamento

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

O Processo Unificado: Captura de requisitos

O Processo Unificado: Captura de requisitos O Processo Unificado: Captura de requisitos Itana Gimenes Graduação em Informática 2008 Captura de Requisitos Modelagem do negócio: Visão de negócios Modelo de objetos de negócio de negócio Especificação

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

Engenharia de Software I: Análise e Projeto de Software Usando UML

Engenharia de Software I: Análise e Projeto de Software Usando UML Engenharia de Software I: Análise e Projeto de Software Usando UML Capítulo 1 Processo de Desenvolvimento de Software Metodologia de Desenvolvimento de Software Uma metodologia é um conjunto de métodos,

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Requisitos Cap. 06 e 07 Sommerville 8 ed. REQUISITOS DE SOFTWARE» Requisitos são descrições de serviços fornecidos pelo sistema e suas restrições operacionais. REQUISITOS DE USUÁRIOS: São

Leia mais

Processo de Desenvolvimento de Software. Engenharia de Software. nelmarpg@yahoo.com.br

Processo de Desenvolvimento de Software. Engenharia de Software. nelmarpg@yahoo.com.br Processo de Desenvolvimento de Software nelmarpg@yahoo.com.br 1 Objetivos Contextualizar Análise e Projeto de software dentro de uma metodologia de desenvolvimento (um processo de desenvolvimento de software)

Leia mais

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques Modelo Cascata Alunos: Bruno Nocera Zanette Pedro Taques Principais Características Gerenciamento Simples das etapas Também conhecido como "Ciclo de Vida Clássico", sugere uma abordagem sistemática e sequencial

Leia mais

UNIP Ciência da Computação / Sistemas de Informação TED I - Orientações Gerais para Elaboração dos Documentos

UNIP Ciência da Computação / Sistemas de Informação TED I - Orientações Gerais para Elaboração dos Documentos I - Orientações Gerais para Elaboração dos Documentos A seguir, orientações fundamentais para a elaboração dos documentos do projeto, tendo em vista a complexidade inerente neste processo. Este roteiro

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

Leia mais

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Processos de software Departamento de Matemática Universidade dos Açores Hélia Guerra helia@uac.pt Processo Um processo é uma série de etapas envolvendo actividades, restrições e

Leia mais

Desempenho e Segurança em Sistemas de Informação. Profa.: Me. Christiane Zim Zapelini E-mail: christianezapelini@nwk.edu.br

Desempenho e Segurança em Sistemas de Informação. Profa.: Me. Christiane Zim Zapelini E-mail: christianezapelini@nwk.edu.br Desempenho e Segurança em Sistemas de Informação Profa.: Me. Christiane Zim Zapelini E-mail: christianezapelini@nwk.edu.br Desempenho e Segurança em Sistemas de Informação Aula 5 Áreas da Engenharia de

Leia mais