Buscar

Resumo Processo Desenvolvimento

Prévia do material em texto

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE	
			
O Software
Software é uma série de códigos escritos a serem executados, seguidos ou interpretados por um computador. Essa série segue padrões específicos que resultam em um comportamento desejado. Pode ser chamado também de suporte lógico ou logiciário, ou ainda ser definido como os programas que comandam o funcionamento de um computador qualquer.
Software sequência de instruções organizadas de maneira que ao inicia-lo tem como objetivo executar, manipular ou modificar um dado, informação ou acontecimento
	
Linguagem de Programação
A função das linguagens de programação é exatamente essa, ou seja, servir de um meio de comunicação entre computadores e humanos
Baixo Nível - são interpretadas diretamente pelo computador, tendo um resultado rápido, porém é muito difícil e incômodo se trabalhar com elas ( assembly e número binário) 
Alto Nível as ações são representadas por palavras de ordem (exemplo faça, imprima, etc) geralmente em inglês, foram feitos assim para facilitar a memorização e a lógica. Elas não são interpretadas diretamente pelo computador, sendo necessário traduzí-las para linguagem binária utilizando-se de um programa chamado compilador. (C++, java..)
Duas linguagens de programação: estruturada (sequência, seleção, interação), orientada a objeto (classe, atributos, métodos)
Fluxo de dados-> dados / informação / conhecimento
		
	
Classificação do Software
3 tipos (retirado de 2 sites) : 
Software de Sistema – Sistema operativo, controladores de dispositivos (mouse, SO...etc) 
Software de aplicação – programas instalados que permite executar tarefas (videojogos, sistemas de automação, etc...)
Software de programação – para desenvolver programas (compiladores, depuradores, linkrs, editor txt, etc)
Software Livre – não necessita estar instalado no computador, é acessado via internet (sw pimaco etiquetas)
Software Básico – é o programa considerado essencial para o funcionamento de um computador. Sem ele o computador não funciona. (Exemplo de software básico: Sistema Operacional Windows e Linux.)
Software Utilitário – é qualquer programa não obrigatório para o funcionamento do computador, porém, é considerado extremamente útil para o seu bom funcionamento. (Exemplo de Utilitário: Anti-vírus.)
Software Aplicativo – são programas que tem aplicações práticas para o usuário. Também não são obrigatórios para o funcionamento do computador, porém, quando instalados, oferecem praticidade para os usuários.(Exemplo de Aplicativos: Word, Excel, Power Point, navegadores e jogos)
		
	
Processamento de dados
É uma série de atividades ordenadamente realizadas, que resultará em uma espécie de arranjo de informações, pois no início da atividade é feita a coleta de informações, ou dados, que passam por uma organização onde no final será passada para o usuário o dado pertinente a sua busca. A obtenção inicial de dados (informações) é denominada de processamento. No contexto do processamento de dados podemos defini-lo como a matéria-prima obtida em uma ou mais fontes e informações, é o resultado do processamento, ou seja, a informação final é o dado processado ou processamento de dados. Para uma melhor definição usaremos o computador como exemplo: ele é uma máquina que possui um sistema de coleta de dados, esses dados são manipulados e logo depois seus resultados são fornecidos de acordo com as informações coletadas no início do processo.
		
	
Atividades para Análise de Requisitos	
Estudo de Viabilidade
É necessário ser feito para verificar se tecnicamente e financeiramente é viável, se não, sequer começa
O objetivo de um estudo de viabilidade, como o próprio nome já diz, é avaliar sob o ponto de vista operacional, técnico, econômico e organizacional se o projeto é viável. O documento destina-se ao stakeholder do sistema (alguém que tenha alguma influência direta ou indireta sobre os requisitos do sistema). (SOMMERVILLE,2011, p. 70). O estudo de viabilidade acontece após a especificação de requisitos de negócio, ou seja, é o segundo passo do processo de engenharia de requisitos.
Viabilidade organizacional: está relacionada a quanto a solução beneficia a organização. Verifica-se se haverá aderência ao uso da solução por parte dos usuários devido a cultura organizacional e a percepção dos envolvidos; se a solução está alinhada com os objetivos estratégicos da organização; se há compreensão e suporte da alta direção da organização em relação ao projeto, etc.
Viabilidade operacional: está relacionada a quanto a solução se adéqua a organização; quais são os requisitos da solução; o que o cliente espera que o sistema faça;
Viabilidade econômica: análise entre o custo de desenvolvimento e os benefícios após implementação do projeto (custo-benefício).
Viabilidade técnica: atrelada ao suporte técnico que a organização oferecerá para o desenvolvimento do projeto; restrições da equipe ou da tecnologia; necessidade de se investir em pesquisas antes de realizar o projeto; etc.
Viabilidade de cronograma: cruzamento entre as atividades levantadas e o tempo estimado para realizá-las; definição de marcos do projeto; impacto de atrasos.
Dica que se encontra na hora de analisar a viabilidade operacional é utilizar um framework para categorizar problemas (checklist) e auxiliar no levantamento de requisitos, chamado PIECES. Esta metodologia foi criada em 1994 pelo James Wetherbe e serve para analisar sistemas a fim de resolver problemas, explorar as oportunidades e satisfazer os objetivos estabelecidos; garante também que tanto analistas quanto usuários “conversem a mesma língua” ao contribuir na definição dos requisitos do projeto. O nome PIECES surge da sigla em inglês, onde cada letra categoriza um problema: Performance, Information, Economics, Control, Efficiency e Security. (Performance, Informação, Economia, Controle, Eficiência e Serviços)
RUP: Rational Unified Process: iniciação, elaboração, desenvolvimento e transição
Técnicas de Elicitação de Requisitos
A elicitação de requisitos é uma fase muito importante em qualquer projeto de desenvolvimento de software, pois se elaborada de maneira incorreta, todo o projeto estará comprometido. É importante, pois é nesse momento que identificamos e definimos a estratégia de desenvolvimento do produto/serviço. É agora que conhecemos algumas informações como:
Fonte de Requisitos;
Quais são as partes interessadas no produto/serviço;
Quais são as principais necessidades do usuário;
Definimos as fronteiras do sistema;
Quais são as premissas e restrições do sistema ou do ambiente
Entrevista; Questionário
 
			
Conceitos de Modelagem
Serve para verificar a qualidade dos requisitos, estudados na aula anterior, que se tornarão precisos e detalhados o suficiente para as atividades do próximo passo no processo de desenvolvimento de software.
Atividade que utiliza o conceito de orientação a objeto, utilizando a UML como notação. Tem como objetivo modelar o problema, não a solução.
Unified Modeling Language, linguagem de modelagem unificada, utilizada em engenharia de software para visualizar o desenho do sistema e a intercomunicação entre objetos.
Tem como objetivo modelar aspectos estáticos de um problema, utilizando o modelo orientado a objeto. É utilizada em conjunto com detalhamento de requisitos para visualizar e fornecer base para identificar soluções para os requisitos apresentados.
Análise estrutural: Identificação de classes, organização de classes, identificação de relacionamentos, identificação dos atributos, análise comportamental, diagrama de interação, identificação das operações
Diagrama de caso de uso, diagrama de classe e diagrama de sequência: tripé da análise
Fase análise: estudar, entender modelar, 
Técnicas de análise: estruturada, essencial, 
Objeto: estrutura de dados encapsulada por procedimentos. Essa estrutura compõe-se de: atributos e operações
Classe: conjunto de objetos similares agrupados na etapa de análise mais voltada para sua realização
O DESENHONO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
Um processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software. É estudado dentro da área de Engenharia de Software, sendo considerado um dos principais mecanismos para se obter software de qualidade e cumprir corretamente os contratos de desenvolvimento, sendo uma das respostas técnicas adequadas para resolver a Crise do software.
A fase de desenho tem como objetivo modelar o sistema, atendendo os requisitos levantados na fase de análise, e prepará-los para a implementação. O desenho do produto ou solução mostra como deve ser implementado, mas não envolve  qual o tipo de tecnologia especifica necessita para fazê-lo.
			
Conceitos inerentes ao Desenho (projeto) do software
Problema/Solução
Desenho interno/Externo
	
Modelos de Desenho de Software
Nível estratégico ou desenho arquitetônico (É o corpo da arquitetura do sistema a ser implementado)
Nível tático ou desenho lógico (É a aplicação das decisões tomadas no nível estratégico.)
Nível operacional ou desenho detalhado(É o comportamento de cada componente.)
			
Conceitos de Testes de Software
Testes de software examinam o comportamento do produto por meio de sua execução, e são formas de se garantir a qualidade. Verificação (no contexto de testes) é o conjunto de atividades que garante que o software implementa corretamente uma função específica, enquanto validação garante que o mesmo corresponde aos requisitos. Erros são cometidos pelos programadores, ocasionando inconsistências, deficiências e comportamentos inesperados (fora da especificação). Falhas são eventos notáveis originados por defeitos.
A fase de teste tem como objetivo detectar possíveis defeitos ou erros que possam surgir na fase de implementação. Nessa fase, de testes, deve-se coletar os resultados e analisá-los e consertá-los  antes de sua implantação.
Tipos de Testes de Software
Teste
Objetivo
Critério
Procedimento
Script
Modelos de Teste de Software
Quanto ao tipo de código: estático e dinâmico
Quanto ao objetivo na busca do erro: unidade, integração e validação

Continue navegando