Projeto de Desenvolvimento de Software

Documentos relacionados
Projeto de Desenvolvimento de Software

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 7. Agenda

ANÁLISE E PROJETO DE SISTEMAS

Qualidade e Certificação em Software. Prof. Cesar 1

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

As Visões. Visões arquiteturais (revisão)

Como Modelar com UML 2

Análise e Projeto de Software

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes

Análise e Projeto Orientados a Objetos Aula I Introdução. Prof.: Bruno E. G. Gomes IFRN

Introdução à Engenharia de Software

Engenharia de Software

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

Análise e Projeto Orientados a Objetos

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Universidade Federal de Roraima Departamento de Matemática Introdução à Ciência da Computação

Engenharia de Software

Requisitos de sistemas

Processos de software

Linguagem de Programação I Apresentação da Disciplina

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

Estilos Arquiteturais

Engenharia de Software. Projeto de Software. Projeto: definição. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff

Princípios de Análise e Projeto Orientados a Objetos com UML

Análise e Projeto Orientados a Objetos

Crise do Software. Crise de tecnologia - hardware caminha mais rápido que o software

Projeto de Desenvolvimento de Software

Informática Básica CONCEITOS DE SOFTWARE. Msc. Eliezio Soares

Análise de Sistemas. Aula 5

Gerência de Projetos e Manutenção de Software Aula 12 Medição / Manutenção / Encerramento Andréa Magalhães Magdaleno 2017.

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 3 21/08/2012

Prof. Dr. Thiago Jabur Bittar

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Introdução à Análise e Projeto de Sistemas

Manutenção de Software

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

Engenharia de Software. Projeto de Arquitetura

Elaboração de uma metodologia para o desenvolvimento de interfaces com o

Padrões. Arquitetura de Software Thaís Batista

F U N D A Ç Ã O E D U C A C I O N A L S Ã O J O S É 4ª Edição ISSN: ENGENHARIA DE REQUISITOS

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Introdução a Orientação a Objetos

ENGENHARIA DE SOFTWARE

Especificação de Sistemas de Software e a UML

Programação em Comunicações. Programação Orientada por Objectos. Ademar Aguiar.

ENGENHARIA DE SOFTWARE

Apresentação. Informação geral + Conceitos iniciais

Algoritmos e Programação

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Rational Unified Process (RUP)

Lista de Exercícios AV1

PROGRAMAÇÃO ORIENTADA A OBJETOS II -MÉTODOS PARA MODELAGEM OO. Prof. Angelo Augusto Frozza, M.Sc.

Programa Analítico de Disciplina INF323 Engenharia de Software II

Complexidade do Software

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Sistemas de Computação e de Informação

Estruturas de Dados. Pedro Ribeiro 2017/2018 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/ / 16

MÓDULO 3: Programação Estruturada

Requisitos de Ontologias

Processos de Engenharia de Requisitos

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

PLANO DE ENSINO. ANO LETIVO/SEMESTRE: 2016/2 PROFESSOR: Leandro da Silva Camargo

Modelagem de Sistemas. Análise de Requisitos. Modelagem

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

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

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros

Aula 01 Conceito de Banco de Dados e SGBD

Voice Recognition. Carlos Damasceno Francisco Lima Luckas Santos Perichdey Leitão Wellyson Melo. DIE - UFPI Teresina PI Brasil

UNIVERSIDADE FEDERAL DE ALFENAS

Engenharia de Software

Visões Arquiteturais. Arquitetura de Software Thaís Batista

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

ORIENTAÇÃO A OBJETOS Histórico:

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

BANCO DE DADOS - MODELAGEM DE DADOS

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

AVALIAÇÃO DA QUALIDADE DO PROCESSO DE MANUTENÇÃO DE SOFTWARE UTILIZANDO A NORMA NBR ISO/IEC 12207

QUALIDADE DE SOFTWARE

Engenharia de Software

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (

S15 - Engenharia de Requisitos continuação cap.6

Modelagem ou Diagrama de Caso de Uso

Introdução à Lógica de Programação

Gerenciamento do Escopo. Igor Muzetti Pereira

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Prof. Esp. Fabiano Taguchi

- 1ª Lista de Exercícios -

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Transcrição:

Projeto de Desenvolvimento de Software Princípios da Engenharia de Software Msc. Eliezio Soares eliezio.soares@ifrn.edu.br http://docente.ifrn.edu.br/elieziosoares

NBR ISO 9000-3 Definições: A ISO 9000 define critérios de garantia de qualidade. A ISO 9000-3 fornece uma interpretação da ISO 9000 para aplicação em empresas de desenvolvimento de software. Software: Criação intelectual compreendendo os programas, procedimentos, regras e qualquer documentação correlata à operação de um sistema de processamento de dados. Produto de Software: Conjunto completo de programas de computador, procedimentos e documentação correlata, assim como dados designados para entrega a um usuário. Item de Software: Qualquer parte identificável de um produto de software em

Engenharia de Software PRINCÍPIOS Recebemos como herança e missão propagar boas práticas no desenvolvimento de novos projetos. Lições aprendidas ao longo do tempo sobre COMO desenvolver software. Não se trata de simples regras, mas de filosofia / princípios.

Decomposição Divide et Impera Dividir para Reinar Como tratar a complexidade inerente a sistemas de software? A decomposição funcional é uma maneira de conceber o software como um conjunto de funções de alto nível (requisitos) que são decompostas em partes cada vez mais simples até chegar a comandos individuais de uma linguagem de programação. (Wazlawick, Raul Sidnei. 2013) A decomposição algorítmica (a solução estruturada) A decomposição Orientada a objetos (OO)

Abstração Descrever um elemento em uma linguagem de nível mais alto do que o necessário para sua construção. Ou seja: simplificar! Muitas vezes deixando escapar alguns detalhes propositalmente. É um auxílio importante para que todos os interessados no desenvolvimento possam entender estruturas grandes e complexas. Descrições mais abstratas: Algoritmos -> Classes Classes -> Diagrama de Classes Diagramas -> Descrição Textual

Generalização Agrupar conceitos com atributos comuns. Permite a reutilização de definições em itens de software. A Orientação a Objetos é fruto da idéia de generalização: Professores e Alunos têm em comum o fato de serem Pessoas, eles possuem atributos comuns.

Padronização A padronização auxilia na elaboração de produtos com qualidade mais previsível. Padrões permitem capitalizar experiências de outros projetos. Erros já experimentados e que já possuem solução conhecida.

Rastreabilidade Software é um elemento de sistema lógico, e não físico. Consistem de Instruções, estruturas de dados e documentação. (Pressman, 2000) Software é baseado em uma série de documentos e especificações. Muitos deles derivam uns dos outros (decomposição). É necessário manter um registro dos rastros de um artefato em outro. Por exemplo: Se um requisito muda há um impacto em vários artefatos, como diagrama de casos de uso, diagrama de classes, de atividades, código...

Gerenciamento de Requisitos É possível identificar todos os requisitos de um sistema desde o início do projeto? Requisitos mudam com muita frequência. É necessário gerenciar sua mudança / evolução. Faz parte do processo de desenvolvimento e evolução do software.

Desenvolvimento Interativo É possível desenvolver software em um único cliclo com início, meio e fim? Atualmente se trabalha com o entendimento de processo de desenvolvimento interativo: Vários ciclos de desenvolvimento são realizados. Cada ciclo visa atender um conjunto de objetivos (decomposição). Cada ciclo contribui para a geração e amadurecimento do produto final.

Gerenciamento de Mudanças É imprescindível manter o controle da evolução e alterações em produtos de software. Há situações nas quais é necessário voltar atrás. Há situações nas quais é necessário desenvolver duas versões de um mesmo componente paralelamente. Um bom sistema de gerenciamento de configuração e mudança permite efetividade nessa tarefa.

Gerenciamento de Riscos Sempre existem riscos em um projeto. Eles precisam ser previstos. É necessário prevenir-se. É preciso definir plano de ação. Exemplos: Equipe com alta rotatividade. Equipe inexperiente. Pressão pela redução de prazos. Exceder limite orçamentário.

Referências Wazlawick, Raul Sidnei. Engenharia de software: conceitos e práticas. Rio de Janeiro: Elsevier, 2013.