4. qualidade de software

Propaganda
ETEC ARMANDO BAYEUX DA SILVA
ALESSANDRO SPATTI DOS SANTOS
FLÁVIA DE ARRUDA FURLETTI
KARIN DANIELE AGUIAR SANTOS
MARIANA DOS SANTOS
MARINA RATTIN BOMBINI
MAYARA TALISSA SASS
ROSANE BARBETTA
O SOFTWARE DA DIRETORIA DE SERVIÇOS
RIO CLARO
DEZEMBRO/2009
ETEC ARMANDO BAYEUX DA SILVA
ALESSANDRO SPATTI DOS SANTOS
FLÁVIA DE ARRUDA FURLETTI
KARIN DANIELE AGUIAR SANTOS
MARIANA DOS SANTOS
MARINA RATTIN BOMBINI
MAYARA TALISSA SASS
ROSANE BARBETTA
O SOFTWARE DA DIRETORIA DE SERVIÇOS
Projeto apresentado à ETEC
Prof. Armando Bayeux da Silva
sob a orientação da Prof (ª)
Patrícia
RIO CLARO
DEZEMBRO/2009
ALESSANDRO SPATTI DOS SANTOS
FLÁVIA DE ARRUDA FURLETTI
KARIN DANIELE AGUIAR SANTOS
MARIANA DOS SANTOS
MARINA RATTIN BOMBINI
MAYARA TALISSA SASS
ROSANE BARBETTA
Trabalho de Conclusão de Curso apresentado à ETEC Prof. Armando Bayeux
da Silva para obtenção do título de técnico em Informática. Orientador(a):
Prof. __________.
O SOFTWARE DA DIRETORIA DE SERVIÇOS
Orientador(a): ____________________________________________________
Examinador(a): ___________________________________________________
Rio Claro, ______ de __________________________ de 2010.
A ferrovia que leva ao sucesso
é construída em cima de um solo de humildade
com pesados trilhos chamados erros
que somente são fixados numa linha reta
com maciços pregos de perseverança.
(Eduardo Siqueira Filho)
RESUMO NA LÍNGUA VERNÁCULA
SUMÁRIO
INTRODUÇÃO ....................................................................................... 7
1. PROGRAMAÇÃO ORIENTADA A OBJETOS ................................. 8
1.1 A Linguagem utilizada: Delphi ....................................................... 8
1.1.1
Programação Orientada a Eventos .................................................... 9
2. BANCO DE DADOS ...................................................................... 11
2.1 A Linguagem e o Sistema Gerenciador de banco de dados ........ 11
2.2 A Linguagem SQL ....................................................................... 12
3. INTERFACE GRÁFICA .................................................................. 14
4. QUALIDADE DE SOFTWARE ......................................................... 15
4.1 Requisitos de qualidade .............................................................. 15
4.2 Processo de software .................................................................. 16
4.3 Garantia de qualidade de software .............................................. 16
5. A IMPORTÂNCIA DE SOFTWARES ............................................... 19
BIBLIOGRAFIA ................................................................................... 20
7
INTRODUÇÃO
Hoje em dia, a parcela da população que não possui um computador em
casa, é relativamente pequena, deixando claro que este aparelho é uma ferramenta
indispensável, tanto para o uso pessoal quanto profissional (em empresas, lojas,
etc.).
Com o passar do tempo (com a intensificação da informatização), o homem
ficou, e vem ficando, cada vez mais dependente de um programa para auxiliar em
seu trabalho, e este é justamente o objetivo do nosso trabalho.
Criar um programa que auxilie e facilite o trabalho dos funcionários da
diretoria de ensinos, e que dê todo tipo de apoio (todas as informações sobre
fornecedores, mercadorias, funcionários, etc.) para que ele o realize da melhor
maneira possível.
Este software será desenvolvido em Delphi 7, visando facilitar o trabalho de
funcionários que atuam na área de diretoria de Serviços em nossa escola. Esse
software deverá conter informações que facilitem o funcionário na hora de consultar
a cotação dos fornecedores, além de facilitar na hora de entrar em contato com os
mesmos.
Rever o segundo e terceiro parágrafos, pois estão repetindo algumas informações
8
1. PROGRAMAÇÃO ORIENTADA A OBJETOS
Alan Kay criou a linguagem de programação Smalltalk, e deu origem ao termo
“Programação Orientada a Objetos”. Porém, mesmo antes da criação do Smalltalk,
algumas das idéias da POO (Programação Orientada a Objetos) já eram aplicadas.
Ole Johan Dahl e Kristen Nygaard criaram em 1967 a linguagem Simula 67, que foi
à primeira linguagem que realmente utilizou estas idéias.
Apesar de esta programação ser bastante antiga, sua aceitação nas grandes
empresas de Software só começou a crescer atualmente. As linguagens: Java, C++,
Object Pascal (Delphi), Ruby, Python, Lisp, etc. são exemplos de linguagens
modernas e são “universalmente” utilizadas por empresas em todo o mundo. No
C++, por exemplo, as idéias são adotadas parcialmente, dando a opção de escolha
para o programador escolher o antigo modelo de programação ou o novo, optando
usar a Programação Orientada a Objetos ou não, ou seja, o programador fica à
vontade para programar da forma tradicional. Neste tipo de linguagem a idéia é se
basear em uma linguagem previamente existente e adicionar novas funcionalidades
a ela. Outras são construídas “do zero” com o foco na orientação a objetos, por
exemplo, a linguagem Smalltalk, Self e IO, onde TUDO é orientado a objetos.
Definir linguagem de programação (em geral) e orientação a objetos, o texto a
menciona mas não a define – Referencia de autor ???????
1.1 A Linguagem utilizada: Delphi
Borland Delphi, conhecido popularmente somente por Delphi, é um compilador,
uma IDE (“Integrated Device Electronics”, Aparelho Eletrônico Integrado) e uma
linguagem de programação. Antigamente a Borland Software Corporation era
responsável pela sua produção, mas atualmente ele é feito pela Embarcadero. O
Delphi é por origem direcionado para a plataforma Windows, ou seja, foi feito para
rodar prioritariamente no Windows, porém ele também chegou a ser usado para
desenvolvimento de aplicações em Linux e Mac OS. Atualmente um projeto
chamado Lazarus possui uma interface muito semelhante ao Delphi e é
multiplataforma, ou seja, roda tanto no Windows quanto no Linux. A origem do nome
“Delphi” é uma homenagem à cidade de Delfos, na Grécia antiga, onde era possível
consultar o “Oráculo de Delfos”. Este nome foi escolhido pelos programadores com a
9
intenção de criar uma ferramenta capaz de acessar o banco de dados “Oracle”, e
vem daí o trocadilho: "a única maneira de acessar o oráculo é usando Delphi".
Algumas áreas em que o Delphi é muito utilizado é no desenvolvimento
aplicações desktop, aplicações multicamadas e aplicações cliente/servidor, ele é
compatível com todos os bancos de dados mais conhecidos e utilizados do
mercado. O Delphi pode ser utilizado para vários tipos de desenvolvimento de
projeto. Seu ambiente para a criação de softwares possui características como:
1. Interface, a parte da estrutura do aplicativo Delphi que pode ser realizada com
o auxílio de ferramentas visuais.
2. Orientação a Objeto, as classes, heranças e polimorfismo, tudo utilizado pela
linguagem de programação do Delphi (Object Pascal). Porém, esta não é uma
linguagem totalmente orientada a objetos como Smalltalk e Eiffel;
3. Orientação a Eventos, cada elemento da interface do aplicativo que é capaz
de capturar e associar ações a uma série de eventos;
4. Compilação, geração de um código em linguagem de máquina que acelera a
execução dos aplicativos.
Referencia de autor ???????
1.1.1 Programação Orientada a Eventos
Esta programação segue um fluxo de controle padronizado.O controle de fluxo
de programas orientados a eventos é guiado por indicações externas. Estas
indicações são chamadas de eventos.
A programação Orientada a Eventos é um estilo fundamental de se programar
onde na execução a programação sofre uma intervenção de eventos. Esta
programação é considerada base da criação de Interfaces com Usuário e na
programação para web (web 2.0).
É programado em sua base em um laço de repetição de eventos, que recebem
repetidamente informações para processar e disparam uma função de resposta de
acordo com o evento. É realizado em efeito de evento em cascata.
10
As entradas podem ser enfileiradas ou uma interrupção pode ser registrada na
hora da reação, ou ainda ambos.Esse método é bastante flexível e permite um
sistema assíncrono.
Para se programar, não é necessário que esta seja puramente orientada a
eventos ou puramente orientada a objetos, é possível “mesclar” os dois tipos de
paradigmas na hora da programação.
Referencia de autor ???????
11
2. BANCO DE DADOS
Todos nós sabemos que existem gigantescos bancos de dados gerenciando
nossas vidas. De fato, sabemos que nossa conta bancária faz parte de uma coleção
imensa de contas bancárias, ou que nosso Título Eleitoral, ou nosso CPF,
certamente também estão armazenados em bancos de dados enormes. Sabemos,
também, que quando sacamos dinheiro no caixa eletrônico de um banco, nosso
saldo e as movimentações existentes em nossa conta bancária já estão à nossa
disposição.
Nessas situações sabemos que existe uma necessidade em se realizar o
armazenamento de uma série de informações que não se encontram efetivamente
isolada umas das outras, ou seja, existe uma ampla gama de dados que se referem
a relacionamentos existentes entre as informações a serem manipuladas e
atualizadas, e a melhor forma de se fazer isso é através do uso de tabelas.
Um banco de dados contém os dados dispostos numa ordem pré-determinada,
em função de um projeto de sistema, sempre para um propósito muito bem definido.
Em informática, um banco de dados representará, e deverá representar sempre
aspectos do mundo real. Sendo assim, a melhor forma de gerenciar e manipular
todas as tabelas, e suas informações, é através de um sistema gerenciador de
banco de dados, também conhecido como SGBD.
2.1 A Linguagem e o Sistema Gerenciador de banco de dados
Um sistema gerenciador de banco de dados funciona como qualquer sistema
normal, ou seja, é um conjunto de programas orientados para a administração de
uma base de dados.
Este sistema encarrega-se de efetuar a manutenção deste banco de dados, de
manter o controle sobre as informações (dados) que entram (são adicionados) nesta
base assim como informações que são delas extraídas.
Quando se pensa em um SGBD (Sistema Gerenciador de Banco de Dados) a
linguagem a ser utilizada é quão importante quanto o SGBD, tanto que o mesmo
possui uma linguagem pré-definida. Cada linguagem possui uma forma própria para
criar, deletar e alterar tabelas e banco de dados, assim como para fazer outras
operações. Melhorar esse parágrafo
12
A linguagem utilizada para a criação do banco de dados deste trabalho foi a
linguagem SQL e o Sistema Gerenciadores de Banco de Dados foi o MySQL. Assim
como a linguagem, o sistema MySQL é um SGBD extremamente conhecido no
mundo quando se fala em banco de dados, na informática, pois além de ser segura
e permitir a armazenagem de uma gama de informações, ela consegue aliar todas
essas características , e outras, à velocidade da consultas nos dados. Reescrever
esse parágrafo – não confundir SQL é a linguagem que manipula os dados e SQL
Server é um SGBD
Referencia de autor ???????
2.2 A Linguagem SQL
Segundo Chamberlin, Navathe e Oliveira (1981, 2002), SQL é uma linguagem
de pesquisa e declaração, para banco de dados. Suas principais características
surgiram a partir do conceito de álgebra relacional.
Esta linguagem começou a ser desenvolvida no início dos anos 70 pela IBM,
em San Jose. Seu nome original era SEQUEL, acrônimo para "Strutured English
Query Language" (Linguagem de Consulta Estruturada em Inglês), vindo daí o fato
de, até hoje, a sigla, em inglês, ser comumente pronunciada "síquel" ao invés de
"és-kiú-él", letra a letra. No entanto, em português, a pronúncia mais corrente é a
letra a letra: "ése-quê-éle".
A linguagem SQL compreende um grande padrão de banco de dados, isto
porque, é simples e de fácil uso. Ela se diferencia de outras linguagens de consulta
a banco de dados, no sentido de que uma consulta SQL especifica (vai diretamente)
a forma do resultado e não o caminho para chegar a ele. Ela é uma linguagem
declarativa em oposição a outras linguagens procedurais. Isto faz com que seja mais
fácil de aprender esta linguagem.
Mesmo o SQL tendo sido criado pela IBM, surgiram várias “cópias piratas”
dessa linguagem, a partir disso, surgiu a necessidade de se criar um padrão comum
de linguagem para todas essa derivações. Esta tarefa foi realizada pela American
National Standards Institute (ANSI) em 1986 e ISO em 1987.
13
Embora tenha sido padronizado pela ANSI e ISSO existem muitas variações
do tipo de linguagem entre esses programas, porém essas mudanças, nem sempre,
são muito significativas.
Outras modificações que diferenciam essas cópias é o fato de que muitas
dessas “novas” linguagens interagem com outros tipos de linguagem (sejam elas
linguagens de programação ou de banco de dados). São muitos os serviços e
empresas que utilizam a linguagem SQL para gerenciar seus bancos de dados, o
que torna a linguagem SQL uma ótima opção para quem quer um bom trabalho com
banco de dados.
14
3. INTERFACE GRÁFICA
Do inglês Graphical User Interface, GUI (interface gráfica do utilizador), mais
popularmente conhecida por Interface Gráfica é uma parte muito importante de um
software, assim como a programação. Ela foi criada para melhorar, facilitar e de
certo modo, tornar menos árdua essa interação “homem x máquina”.
O trabalho de um programador é tornar seus softwares mais funcionais e
práticos para o cliente desfrutar das funcionalidades e benefícios que este software
oferece.
Uma interface deve ser ao mesmo tempo “bonita” e funcional. Isso não só
para valorizar o software como garantir boa parte da satisfação do cliente, pois
melhora a qualidade e o rendimento em seu trabalho.
Sem a interface gráfica os programadores “sofriam” para criar cada vez mais
funcionalidades para o software, já que não tinham a vantagem da interface gráfica,
um evento quase que inevitável no mundo atual, onde querendo ou não, a aparência
é essencial. A famosa frase “Não julgue nada pela sua aparência” não se aplica
aqui. Alguns softwares são vendidos mais pela sua “beleza” do que pela sua própria
funcionalidade.
Por mais simples que essa tarefa pareça ser, é muito complicado agradar o
gosto do consumidor, no caso o comprador do software, uma vez que existem vários
estilos e gostos diversificados.
Para que essa “missão” seja cumprida com sucesso, é necessário entrevistar
seu cliente para conhecer a fundo o que lhe agrada ou não, e assim alcançar seu
objetivo, deixando o cliente feliz e satisfeito.
Referencia de autor ???????
15
4. QUALIDADE DE SOFTWARE
A qualidade de programatura ou qualidade de software é uma área de
conhecimento da engenharia de software que objetiva garantir a qualidade do
software através da definição e normatização de processos de desenvolvimento.
Apesar dos modelos aplicados na garantia da qualidade de software atuarem
principalmente no processo, o principal objetivo é garantir um produto final que
satisfaça às expectativas do cliente, dentro daquilo que foi acordado inicialmente.
Definir engenharia de software
Segundo a norma ISO 9000 (versão 2000), a qualidade é o grau em que um
conjunto de características inerentes a um produto, processo ou sistema cumpre os
requisitos inicialmente estipulados para estes.
No desenvolvimento de software, a qualidade do produto está diretamente
relacionada à qualidade do processo de desenvolvimento, desta forma, é comum
que a busca por um software de maior qualidade passe necessariamente por uma
melhoria no processo de desenvolvimento.
Para um melhor entendimento e estudo, o SWEBOK divide a qualidade de
software em três tópicos, e cada tópico é subdividido em atividades, da seguinte
forma: Fundamentos de qualidade de software, gerência do processo de qualidade
de software, considerações práticas. Definir SWEBOK
Ainda segundo o SWEBOK, a qualidade de software é um tema tão
importante que é encontrado, de forma ubíqua, em todas as outras áreas de
conhecimento envolvidas em um projeto. Além disso, ele deixa claro que essa área,
como nele definida, trata do aspectos estáticos, ou seja, daqueles que não exigem a
execução do software para avaliá-lo, em contraposição á área de conhecimento
teste de software.
Porém, é normal que se encontrem autores e empresas que afirmam serem
os testes de software uma etapa da qualidade de software.
4.1 Requisitos de qualidade
Requisitos de qualidade é um tópico por si dentro do assunto qualidade.
Dentro da ótica desta última, espera-se que os requisitos sejam definidos de
16
maneira a caracterizar completamente o produto a ser construído. Nesse aspecto - e
em relação à definição de Brooks (ano)- é evidente que as zonas de sombra dentro
de uma especificação abrem margem a todo tipo de problemas de avaliação de
produtos.
Sommerville(ano) distingue requisitos funcionais e não funcionais. O modelo
internacional mais recente Square, estabelecido pela norma ISO 25000, adota uma
classificação um pouco diferente e utiliza uma descrição hierárquica. Dentro dessa
descrição, "funcionalidade" é uma das seis divisões iniciais em que se classificam os
requisitos de um produto de software.
Idealmente, a especificação de requisitos deve permitir que o processo de
fabricação do software seja controlado. Isso significa que idealmente a qualidade de
produtos intermediários deve poder ser mensurada e que os dados obtidos devem
trazer informação que possa levar ao controle de desvios, localização de defeitos e
outras ocorrências negativas.
4.2 Processo de software
Nas últimas décadas foram propostas dezenas de metodologias e processos
adaptados a diferentes cenários e produtos. Embora se possa justificar essa
multiplicidade por outra lei de Brooks - a ausência de "balas de prata", é um fato que
a situação se mostra confusa. Rever esse parágrafo-confuso
A situação deixa evidente que há um vácuo a ser preenchido - atacar a raiz
do problema e identificar uma estrutura suficientemente geral, capaz de explicar o
problema de qualidade e ser adaptada a todos os cenários diferentes. Se tal objetivo
é possível resta a ser provado - assunto para novos artigos e teses.
Referencia de autor ???????
4.3 Garantia de qualidade de software
A Garantia da Qualidade de Software (GQS) é a área-chave de processo do
CMM cujo objetivo é fornecer aos vários níveis de gerência a adequada visibilidade
dos projetos, dos processos de desenvolvimento e dos produtos gerados. A GQS
atua como "guardiã", fornecendo um retrato do uso do Processo e não é responsável
por executar testes de software ou inspeção em artefatos. Definir CMM
17
Obtendo a visibilidade desejada, a gerência pode atuar de forma pontual no
sentido de atingir os quatro grandes objetivos de um projeto de desenvolvimento de
software, que são: desenvolver software de alta qualidade, ter alta produtividade da
equipe de desenvolvimento, cumprir o cronograma estabelecido junto ao cliente e
não necessitar de recursos adicionais não previstos.
Para facilitar o trabalho dos desenvolvedores e evitar geração de
metodologias
diversas,
o
Serpro
desenvolveu
o
Processo
Serpro
de
Desenvolvimento de Soluções (PSDS). O PSDS foi construído por pessoas das
unidades da empresa que procuraram aproveitar as melhores práticas existentes e
consagradas. Definir Serpro
Referencia de autor ???????
18
19
5. A IMPORTÂNCIA DE SOFTWARES
Segundo Mattos (2009), os anos foram passando e conseqüentemente os
softwares começaram a surgir e ficar mais populares e acessíveis no mercado.
Todos os dias, novos software são desenvolvidos e lançados para objetivos e
finalidades diferentes.
Apesar destes fatos, muitas empresas, até hoje, utilizam planilhas eletrônicas ou
até mesmo papéis para administrar e controlar seus processos principais como fluxo
de caixa, movimentação de estoque, compras, vendas entre outros. Não podemos
afirmar que esta forma de trabalho está errada ou afirmar que não funciona, pois
existem muitas micro-empresas sobrevivendo e crescendo cada vez mais no
mercado brasileiro.
Muitas vezes os micro-empresários têm uma resistência enorme em adquirir um
software de gestão, por muitos fatores.
Um fator importante que deve ser
trabalhado, é a famosa afirmação: “Em time que está ganhando, não se mexe!”. Mas
será mesmo que a micro-empresa está “ganhando” com isso? Será que ela tem
benefícios suficientes que justifiquem o controle por planilhas eletrônicas ou papéis?
Apesar de parecer que sim, a resposta para essas questões é: NÃO!
Podemos descrever algumas vantagens realmente significantes que empresas
de pequeno porte terão se optarem pela aquisição de um software de gestão:

Agilidade no trabalho como um todo;

Controle 100% eficiente dos negócios;

Informações reais sobre a situação da empresa (caixa, estoque, etc.);

Leitura simplificada das informações por meio de relatórios e gráficos;

Redução de mão-de-obra, conseqüentemente redução de custos;

Redução de erros humanos, já que o trabalho é feito exclusivamente por
máquinas.
Os micro-empresários precisam ter consciência que um bom Software de gestão
para substituir as planilhas seria uma ótima estratégia organizacional e que sua
empresa estaria, verdadeiramente, “ganhando” muito com isso.
20
BIBLIOGRAFIA
DAVID, Marcio Frayze. Programação Orientada a Objetos: uma introdução.
Postado em 29 out. 2007. Disponível em:
http://www.guiadohardware.net/artigos/programacao-orientada-objetos. Acesso
em 13 nov. 2009.
Interface gráfica do utilizador - Wikipédia, a enciclopédia livre. Atualizado em
29 nov. 2009. Disponível em:
http://pt.wikipedia.org/wiki/Interface_gr%C3%A1fica_do_utilizador. Acessado
em 13 nov. 2009.
ROSA, Adriano. Conceito sobre banco de dados. Postado em 09 set. 2008.
Disponível em:
http://www.adrianorosa.com/artigos.asp?categoria=banco%20de%20dados&co
d=495548&artigo=conceito-sobre-banco-de-dados. Acesso em 30 out. 2009.
SQL - Wikipédia, a enciclopédia livre. Atualizado em 09 nov. 2009. Disponível
em: http://pt.wikipedia.org/wiki/SQL. Acessado em 27 nov. 2009.
Qualidade de software - Wikipédia, a enciclopédia livre. Atualizado em 2 dez.
2009. Disponível em: http://pt.wikipedia.org/wiki/Qualidade_de_software.
Acesso em 03 dez. 2009.
Download