Capítulo 7: Engenharia de Software

Documentos relacionados
PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO (PROENG) ASSESSORIA DE DESENVOLVIMENTO ASSESSORIA JURÍDICA

Unidade II MODELAGEM DE PROCESSOS

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

UML Unified Modeling Language. Professor: André Gustavo Bastos Lima

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

EMENTAS DAS DISCIPLINAS

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Engenharia de Software

O Processo Unificado

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

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

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

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

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

Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU

Processos de Software

Atua no acompanhamento das atividades, através da implementação de políticas e normas; Busca a satisfação do cliente.

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

Processo de Software - Revisão

NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Introdução ao Processo Unificado (PU)

Engenharia de Software

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

PROVA DISCURSIVA (P )

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

Engenharia de Software

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 2.1

Análise e Projeto Orientados a Objeto

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.

Plano de Aula - Access cód Horas/Aula

QUALIDADE DE SOFTWARE

Unidade I Conceitos BásicosB. Conceitos BásicosB

Visão Geral Parte 1. O que é engenharia de software?

Introdução à Engenharia de Software. Prof.ª Erika E. Freire Miranda

Modelos de Processo (métodos)

Apostila da disciplina Introdução à Engenharia de Software Professor: Sandro Melo Faculdades São José Curso de Tecnologia de Sistemas de Informação

Política Gestão de Configuração e Mudança

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

PROJETO DE FÁBRICA DE SOFTWARE

Processos de Software. O que é modelo de processo? Vantagens. Modelos de Processo Gerais. O que é um processo de software?

Aula II Introdução ao Modelo de Entidade-Relacionamento

Metodologia de Desenvolvimento de Sistemas (Versão 2.0)

IBM Unica Histórico da Interação Attribution Modeler Versão 1 Release 0 15 de maio de Tabelas de Sistema do

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

Organização Curricular do Curso Superior de Tecnologia em Sistemas para Internet

TRIBUNAL DE JUSTIÇA DO ESTADO DE MATO GROSSO

Testes Funcionais de Software

Tema, Problema e Hipóteses

GED: Gestão Eletrônica de Documentos

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

Motorola Phone Tools. Início Rápido

QUESTIONÁRIO DE AVALIAÇÃO Primeira Fase

Linguagem de Montagem

Qualidade de Software

Engenharia de Software

QUESTÃO 2: A respeito do diagrama de caso de uso apresentado, assinale a alternativa correta.

ANEXO II REQUISITOS, ATRIBUIÇÕES E REMUNERAÇÕES DOS CARGOS

Orientação a Objetos I

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

c. Técnica de Estrutura de Controle Teste do Caminho Básico

PLANO DA SITUAÇÃO DE APRENDIZAGEM CURSOS TÉCNICOS. 2. Tipo Estudo de Caso X Situação Problema Pesquisa Projeto

Carlos Rafael Guerber. Modelagem UML de um Sistema para Estimativa Elétrica de uma Lavanderia

Engenharia de Software II

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

2 Engenharia de Software

Fase 1: Engenharia de Produto

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

SOFTWARE PROCESSES. Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos

Metodologia e Gerenciamento do Projeto na Fábrica de Software

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

Análise e Projeto de Software

Com metodologias de desenvolvimento

Apresentar os conceitos básicos da metodologia de desenvolvimento Processo Unificado, utilizando como aporte o Processo Unificado Rational RUP

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

CURSO DE SISTEMAS DE INFORMAÇÃO

Análise de Sistemas. Contextualização. O Sucesso. Aula 4. Instrumentalização. Aula 4. Prof. Emerson Klisiewicz. Clientes satisfeitos

PLANO DE ENSINO-APRENDIZAGEM POR COMPETÊNCIAS

Serviços do Cisco Connected Stadium Wi-Fi

CONSELHO REGIONAL DE ENFERMAGEM DE SANTA CATARINA

Processos de gerenciamento de projetos em um projeto

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Escritório de Projetos e Escritório de Processos: Diferenças e Tendências ELO Group

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura

Transcrição:

Capítulo 7: Engenharia de Software Ciência da computação: Uma visão abrangente 11a Edição by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc.

Capítulo 7: Engenharia de software 7.1 A disciplina de Engenharia de Software 7.2 O ciclo de vida de Software 7.3 Metodologias de Engenharia de Software 7.4 Modularidade 7.5 Ferramentas do comércio 7.6 Teste 7.7 Documentação 7.8 Responsabilidade e Propriedade do software Copyright 2012 Pearson Education, Inc. 0-2

A disciplina de Engenharia de Software Distinta de outras áreas de engenharia Componentes pré-fabricados Métricas Praticantes contra teóricos Organizações profissionais: ACM, IEEE, etc. Códigos de ética profissional Normas Copyright 2012 Pearson Education, Inc. 0-3

Computer Aided Software Engineering (CASE) tools Planejamento de projeto Gerenciamento de projetos Documentação Prototipagem e simulação Design de interface Programação Copyright 2012 Pearson Education, Inc. 0-4

O ciclo de vida de software Desenvolvimento Uso Manutenção Copyright 2012 Pearson Education, Inc. 0-5

A fase de desenvolvimento do ciclo de vida de software Análise de Requisitos Design Implementação Teste Copyright 2012 Pearson Education, Inc. 0-6

Etapa de Análise de Requisitos Requisitos Orientado à Aplicação Especificações Orientado tecnicamente Documento de requisitos de software Copyright 2012 Pearson Education, Inc. 0-7

Fase de Concepção (Design) - Projeto Metodologias e ferramentas (discutidas mais tarde) Interface humana (Psicologia e ergonomia) Copyright 2012 Pearson Education, Inc. 0-8

Fase de implementação Criar o sistema a partir de um projeto Escrever programas Criar arquivos de dados Desenvolver bases de dados Papel de "analista de software" versus "programador" Copyright 2012 Pearson Education, Inc. 0-9

Fase de testes Testes de validação Confirmar que o sistema atende as especificações Testes de defeitos Encontrar bugs Copyright 2012 Pearson Education, Inc. 0-10

Metodologias de Engenharia de Software Modelo em cascata Modelo Incremental Prototipagem (Evolucionária vs. Descartável) Desenvolvimento em código aberto Extreme Programming Copyright 2012 Pearson Education, Inc. 0-11

Ferramentas Diagrama de fluxo de dados Diagrama entidade-relacionamento Relação um para um Relação um-para-muitos Relação muitos-para-muitos Dicionário de dados UML Unified Modeling Language Diagrama de Casos de Uso Diagrama de Classes Copyright 2012 Pearson Education, Inc. 0-12

Um diagrama de fluxo de dados simples Copyright 2012 Pearson Education, Inc. 0-13

UML - Unified Modeling Language Diagrama de caso de uso Casos de uso Atores Diagrama de classes Copyright 2012 Pearson Education, Inc. 0-14

Um diagrama de caso de uso simples Copyright 2012 Pearson Education, Inc. 0-15

Um diagrama de classe simples Ocupa Médico Paciente Quarto Cuida de Hospeda Copyright 2012 Pearson Education, Inc. 0-16

Relacionamentos um-para-um, um-paramuitos e muitos-para-muitos entre entidades dos tipos X e Y Copyright 2012 Pearson Education, Inc. 0-17

Um diagrama de classe retratando generalizações RegistroMedico DatadeRegistro Paciente Medico ImprimirRegistro RegistroCirurgico ProcedimentoCirurg Hospital DatadaAlta DarAltaaoPaciente ImprimirRegistro RegistroCirurgico Sintomas Diagnostico ImprimirRegistro Copyright 2012 Pearson Education, Inc. 0-18

Diagrama de seqüência Fonte: LES (PUC-Rio) Copyright 2012 Pearson Education, Inc. 0-19

Exemplo: Blog (Fonte: LES PUC-Rio) Caso de Uso Copyright 2012 Pearson Education, Inc. 0-20

Blog: Diagrama de Classes Copyright 2012 Pearson Education, Inc. 0-21

Blog: Diagrama de Sequencia de criar nota Copyright 2012 Pearson Education, Inc. 0-22

Design Patterns "Modelos" bem projetados para resolver problemas recorrentes Exemplos: Adapter pattern: Usado para adaptar a interface de um modulo às necessidades atuais Decorator pattern: Usado para controlar a complexidade envolvida quando muitas combinações diferentes das mesmas atividades são necessárias Inspirados no trabalho de Christopher Alexander em arquitetura Copyright 2012 Pearson Education, Inc. 0-23

Estratégias de teste de software Teste Glass-box (caixa branca) Princípio de Pareto Erros de software tendem a ser concentrados, e não dispersos. Assim, resultados frequentemente podem ser melhorados aplicando-se os esforços em uma área específica Teste de caminho básico Cada instrução deve ser executada ao menos 1 vez Teste Black-box (caixa preta) Análise dos valores limite Teste de redundância Beta testing Copyright 2012 Pearson Education, Inc. 0-24

Documentação Documentação de usuário Livro impresso para todos os clientes Módulos de ajuda on-line Documentação do sistema Código-fonte Documentos de projeto Documentação técnica Para instalar, personalizar, atualizar, etc. Copyright 2012 Pearson Education, Inc. 0-25

Propriedade do software Copyright Permitir que um produto seja lançado, mantendo a posse da propriedade intelectual Garantia em todas as partes do produto: Especificações Código-fonte Produto final Copyright 2012 Pearson Education, Inc. 0-26

Propriedade do software (continuação) Licença de software Um acordo legal que concede ao usuário determinadas permissões sem transferência de propriedade Patentes Deve demonstrar que é novo, útil e não óbvio para os outros com origens semelhantes Process is expensive and time-consuming Copyright 2012 Pearson Education, Inc. 0-27