Buscar

Document1 (8)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Resumo – Engenharia de software 1
O QUE É SOFTWARE ?
Uma Sequência de instruções escritas para serem interpretadas por um computador para executar tarefas especificas.
Compreende também a documentação associada a ele, dados e configuração.
Software é um produto conceitual e logico.
Na década de 50 não era esperado que o software tomasse as proporções atuais 
Sw é de produção complexa e seus processos são complexos.
Consequências :
· Mal funcionamento no SW
· Custos altos
· Prazos não cumpridos 
· Baixa qualidade 
· Cheio de defeitos
· Confiabilidade duvidosa
· Difíceis de usar 
· Não portáveis 
ENGENHARIA DE SOFTWARE 
Conjuntos de processos, métodos, técnicas e ferramentas que ajudam a produzir software com maior qualidade e menor custo.
Incluem processo de desenvolvimento e atividades de gerenciamento de projetos
É uma disciplina que se preocupa com todos os aspectos de produção de sw desde os estágios iniciais de especificação dos sistemas até sua manutenção, quando o sistema já está sendo usado
Analisa questões práticas de custo, prazo e confiança assim como as necessidades dos clientes e dos produtores do sw
HISTÓRICO DA ENGENHARIA DE SOFTWARE
1950 a 1968 – desenvolvimento ad hoc
· Software feito de maneira ad hoc, isto é, sem nenhum processo associado.
· Software era um conceito abstrato (ideias)
· Não havia nenhum direcionamento para a sua produção, visto que não se encaixava em nenhuma das engenharias conhecidas.
1968: crise do software
1970: modelo cascata
1974: análise/projeto estruturado 
1980 a 2000: desenvolvimento das várias áreas da ES (ex, planejamento de projeto, estimativa de software, gerencia de riscos, modelos de processo e qualidade, testes de SW, ferramentas e ambientes de desenvolvimento.
Final dos anos 80: surgimento de análise orientada a objetos.
1997: UML (unified modelling language)
2001: o manifesto ágil 
2002... vários processos ágeis, foco na interação com o cliente e facilidade de evolução do SW.
SOFTWARE COMO PRODUTO 
O sw é considerado produto quando feito uma comercialização, exemplo o windows, independentemente do tipo de adquirente, ou seja, tenha usuários.
Existem softwares que não tem usuários, então nem todo software pode ser considerado um produto.
São os softwares que fazem interfaces em outros softwares.
TIPOS DE APLICAÇÕES DE SW
Sw são desenvolvidos para atender as necessidades específicas dos usuários.
CLASSIFICAÇÃO GENÉRICA 
Existem formas diferentes de classificar os tipos de SW. Uma forma genérica e aceita é a seguinte:
· SW de base (ou básico) : destinados a operação e programação do computador. Ex: S.O 
· SW APP: programas que tem função específica e permitem a realização de tarefas por usuários finais em resumo todos que não são S.O
· SW cliente – servidor : sw desenvolvido para rede ou internet, são aplicações constituídas de dois lados: o cliente e o servidor 
CRISE DO SW (1968)
O termo expressava as dificuldades de desenvolvimento de sw frente ou raoido crescimento da demanda por sw, da complexidade dos problemas a serem resolvidas e das inexistências de técnicas estabelecidas para o desenvolvimento de sistemas que funcionassem adequadamente ou pudessem ser validados.
A crise se manifesta de várias formas:
· Projetos estourando os orçamentos 
· Projetos estourando o prazo
· Sw de baixa qualidade 
· Sw muitas vezes não satisfaz os requisitos
· Projetos ingerenciáveis e códigos difíceis de manter 
QUALIDADE DO SOFTWARE
O QUE É QUALIDADE DE SW?
A norma internacional ISO/IEC, define qualidade de sw como: a totalidade de características de um produto de sw que lhe confere a capacidade de satisfazer necessidades explicitas e implícitas.
Necessidades explicitas: são aquelas definidas no requisito proposto. Esses requisitos devem definir as condições em que o produto deve ser utilizado e dizer seus objetivos funções e desempenho esperado são percebidos somente pelas pessoas eu trabalharam no seu desenvolvimento.
Necessidades implícitas: são aquelas que, embora não expressas no documento do produtor são necessárias para o usuário.
O que decide a qualidade é a comparação com os respectivos requisitos: o confronto entre a promessa e a realização de cada produto.
Geralmente a qualidade de um produto decorre diretamente da qualidade do processo utilizado na sua produção.
Muitas vezes os processos oficiais não são seguidos na prática: por deficiência de ferramentas, falta de qualificações das pessoas, pq pressões de prazos levam os gerentes dos projetos a eliminar etapas relacionadas com controle de qualidade 
Em um produto de sw de má qualidade, muitos requisitos não são atendidos completamente, em alguns caos, certas funções não são executadas corretamente sob certas condições, ou para certos valores de entradas, em outros casos, o produto tem desempenho insuficiente, ou é difícil de usar.
Cada requisito não atendido é um defeito, denominou-se a chamar de bugs ou defeitos de sw, assim os erros técnicos adquirem uma conotação menos negativa, e isso ajuda a esquecer que esses erros foram causados por erro de uma pessoa, e que cada defeitos tem responsáveis bem preciosos
Note-se que defeitos incluem situações de falta de conformidade com requisitos explícitos, normativos e implícitos
Os defeitos associados a requisitos implícitos são os mais difíceis de tratar. Eles levam a desentendimentos sem solução entre o fornecedor e o cliente.
A engenharia de sw tem como objetivo a melhoria da qualidade do seu produto com propostas e modelos de desenvolvimentos, métodos e técnicas para aplicação nas diversas fases de desenvolvimento. 
O principal problema com que se defronta a engenharia de sw e a dificuldade de se medir a qualidade. Há de se considerar que o sw não se desgasta, por tanto, tal método de medição de qualidade não pode ser aproveitado
GERENCIAMENTO DE QUALIDADE 
A responsabilidade do gerenciamento da qualidade é garantir que o nível esperado de qualidade do processo, produto ou serviço seja alcançado
Envolve a definição de procedimentos e padrões apropriados e a verificação para que eles sejam seguidos por todo na empresa.
O PDCA, foi desenvolvido e proposto como um meio sistematico para implementação de mudanças corretivas ou evolutivas. 
Ele pode ser usado em todos os estágios do ciclo de vida de um produto ou processo para: 
· Correção de problemas 
· Melhoria de processos
· Manutenção do nível de desempenho de um processo
P (planejamento): onde se estabelece as metas e o processo formado por métodos, rotinas, documentos etc.
D (execução): normalmente composta de duas fases, o treinamento das novas práticas planejadas e a implementação do processo.
C (verificação): verificação dos resultados do processo implantado com relação às metas preestabelecidas.
A (ações corretivas): ações para corrigir eventuais desvios do processo.
O PROCESSO DE SOFTWARE
Definições:
Um processo de engenharia de sw é formado por um conjunto de passos parcialmente ordenados, relacionados com artefatos, pessoas, recursos, estruturas organizacionais e restrições, tendo como objetivo produzir e manter os produtos de sw finais requeridos.
É definido como uma metodologia para as atividades, ações e tarefas necessárias para desenvolver um sw de alta qualidade 
Segundo sommerville, essas quatro atividades são:
· Especificação do sw: a funcionalidade do sw e as restrições e ao seu funcionamento dever ser definidas.
· Projeto e implementação de sw: o sw deve ser produzido para atender as especificações.
· Validação de sw: o sw deve ser validado para garantir que atenda as demandas dos clientes
· Evolução do sw: o sw deve evoluir para atendes as necessidades de mudanças dos clientes 
Todo processo de sw pode ser mapeado em um modelo genérico com essas quatro atividades citadas acima.
Quando falamos em especificar o sw, estamos preocupados em enumerar em que esse sw deve fazer.
Restrições podem ser vitais para a funcionalidade de um sw
Quando falamos de um projeto estamos falando da definição da arquitetura geral do sistema. Já a implementação é codificação de fato do programa
Validação,é a atividade que visa atender a demanda do cliente. Ou seja, não basta termos um sw sem “bugs”
Por fim, o processo de evolução do sw. Sw é uma entidade “viva” e deve evoluir com o passar do tempo, demanda dos clientes não são estaticas, assim esse programa deve evoluir à medida que as necessidades do cliente vão sendo alteradas.
ESPECIFICAÇÃO DO SW
Destina-se a estabelecer quais funções são requeridas pelo sistema e as restrições sobre a operação e o desenvolvimento do sistema 
Esta fase também é chamada de engenharia de requisitos, é uma atividade particularmente importante do processo de desenvolvimento de sw, uma vez que erros nesse estágio inevitavelmente produzirá problemas posteriores no projeto de implementação do sistema 
ESTUDO DE VIABILIDADES 
É feita uma estimativa para verificar se as necessidades dos usuários, que foram identificados podem ser satisfeitas com a utilização das atuais tecnologias de hw e sw 
O resultado do estudo “dirá” se o sw é viável, do ponto de vista comercial, e se poderá ser desenvolvido considerando as restrições orçamentarias.
LEVANTAMENTO E ANÁLISE DE REQUISITOS 
O objetivo é obter requisitos do sistema pela observação de sistemas existentes, pela conversa com usuários ou clientes em potencial. Pode envolver o desenvolvimento de um ou mais modelos e protótipos de sistemas.
O que é levantamento de requisitos?
Está ligado diretamente a qualidade do sw (sistema) que será entregue ao usuário final. Ele tem como objetivo fazer a ponte entre o cliente e o programador
Tem como principal objetivo sincronizar a expectativa do cliente com o produto final – o sw que será produzido pelos programadores – reduzindo custos e potencial retrabalho gerado por esses ruídos de comunicação 
Principais caracteristicas 
· Se preocupar em buscar informações do cliente para construir um sw 
· Organizar o projeto antes de iniciar qualquer implementação
· Entregar um sw de qualidade e que atenda de fato as necessidades do usuário
Técnicas para o levantamento de requisitos?
São aplicadas em várias áreas do conhecimento. Ex: questionários, entrevistas observação, e análise de documentos brainstorming.
Questionários
É indicado por exemplo, quando há diversos grupos de usuários que podem estar em diversos locais diferentes 
Entrevistas 
É uma das técnicas tradicionais mais simples de utilizar e que produz bons resultados na fase inicial de obtenção de dados 
Observação
É umas das tecnicas de etinografia mais usadas no levantamento de requisitos, como o próprio nome indica, o analista observa os usuários executando os processos, sem interferência direta.
Investigação ou análise de documentos 
Em qualquer negocio, há varios docuemntos cuj interpretação pode ajudar no levantamento de informações, tais como relatorio usada na tomada de decisão, fichas e uma variedade de formularios
Documentos com formato pré-determinado, tais como relatórios, fichas e formulários, tem um propósito específico e um público-alvo e trazem informações muito uteis 
Especificação de requisitos 
É o documento que descreve as necessidades (detalhadas) especificas de um projeto de sistema. A especificação de requisitos é importante porque serve como base para todo trabalho futuro do projeto 
Validação de requisitos
(ou sw) é uma atividade da engenharia de requisitos. Essa atividade trata, da validação quanto a consistência, precisão, contextualização dos requisitos levantados no processo de identificação e descoberta e de análise e negociação de requisitos 
Os requisitos são divididos em duas formas: funcionais e não funcionais 
Requisitos funcionais
São declarações de funções que o sistema deve fornecer, como o sistema deve reagis as entradas especificas e como deve se comportar em determinadas situações.
Requisitos não funcionais 
Refere-se a características ou qualidades do sistema, tais como: desempenho, segurança, usabilidade, confiabilidade, portabilidade, e etc 
Documento de requisitos de software 
Esse documento delimita o escopo do conjunto de funcionalidades que o sistema (sw) deve prover, bem como descreve os atributos de qualidade que devem ser suportados 
Implementação do sw 
Codificar significa escrever instruções que dizem a um programa de computador como funcionar, estas instruções devem ser escritas numa linguagem específica, uma linguagem de programação
Validação do sw 
Validar um sw consiste em assegurar que as operações realizadas pelo sw são seguras, que as necessidades dos usuários serão atendidas e que as operações realizadas pelo sw são seguras, que as necessidades dos usuários serão atendidas e que as operações não impactaram negativamente em seu desempenho

Outros materiais