Você está na página 1de 15

SISTEMA DE ENSINO PRESENCIAL CONECTADO CURSO SUPERIOR DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS ANDR DOS SANTOS LIMA

Definies da Engenharia de Software e Banco de Dados


Mecanismos de organizao e armazenagem de dados

Guanambi 2012

ANDR DOS SANTOS LIMA

Definies da Engenharia de Software e Banco de Dados


Mecanismos de organizao e armazenagem de dados

Trabalho de Analise e Desenvolvimento de Sistemas apresentado Universidade Norte do Paran UNOPAR, como requisito parcial para a obteno de mdia bimestral na disciplina de Atividades Interdisciplinares Orientador: Prof. Andr Francisco Probst

Guanambi 2012

SUMRIO 1 INTRODUO...........................................................................................................3 2 DESENVOLVIMENTO...............................................................................................4 3 CONCLUSO...........................................................................................................12 REFERNCIAS..........................................................................................................13 APNDICES...............................................................................................................14 APNDICE A Instrumento de pesquisa utilizado na coleta de dados....................14

1 INTRODUO Com o acelerado ambiente que a tecnologia se situa, muitos padres de desenvolvimento de software so obrigados a tomar medidas emergenciais de atualizao. Mediante ao pouco prazo estipulado pelo cliente, gera um ineficincia de qualidade em produtos de software lanados no mercado. Neste trabalho ser abordado procedimentos de engenharia de Software focando a qualidade do software atravs da inspeno, validao, verificao de software assim como atividades de Testabilidade de software que so fundamentais na etapa do desenvolvimento de um software. Ser proposto um SGBD (Sistema Gerencial de Banco de Dados) para a Locadora de Livros bem como a melhor linguagem a ser utilizada.

2 DESENVOLVIMENTO A produo de softwares defeituosos acarreta inmeros prejuzos, pois alm de gerar despesas, perde-se tempo para a correo de algo que j se considerava pronto. Neste sentido, a abordagem mais eficiente e econmica para prevenir tal situao se fazer uma reviso dos artefatos produzidos ao longo do processo de desenvolvimento do software e no no final quando o produto estiver finalizado.

2.1 PROCESSO DE INSPEO DE SOFTWARE A inspeo de software um tipo de reviso rigorosa e bem definida que detecta erros de forma detalhada em quaisquer dos artefatos de softwares tais como: especificaes de requisitos, documentos do projeto, cdigo fonte, etc. Tal inspeo tem como principal objetivo assegurar a qualidade do software que est sendo desenvolvido, a fim de se atender s necessidades do usurio alm de aumentar a produtividade e tornar os projetos mais administrveis. O processo tradicional de inspeo foi criado por FAGAN (1976), segundo ele a reviso executada pela equipe de inspeo que envolve quatro funes: moderador, autor, relator, inspetor. Este processo tradicional executvel basicamente nas seis etapas a seguir: 2.1.1 Planejamento O moderador, membro da equipe de inspeo, define o contexto da inspeo a ser realizada, seleciona os inspetores e distribui o material a ser inspecionado. 2.1.2 Apresentao Os autores dos artefatos a serem inspecionados apresentam aos participantes da equipe, as caractersticas do seu produto ( descrio, mercado pretendido, expectativas de qualidade para o produto...)

2.1.3 Preparao Os inspetores, individualmente, estudam os artefatos afim de detectarem suas discrepncias. 2.1.4 Reunio Envolve o moderador, os inspetores e os autores do artefato. Na reunio o moderador responsvel por garantir que todos os comentrios e aes sejam considerados. Ele quem assina um registro de comentrios e aes acordadas durante a reviso, alm de ser responsvel por assegurar que as mudanas necessrias sejam feitas. Os inspetores apresentam na reunio os comentrios, questes e falhas detectadas acerca do artefato aps examin-lo individualmente na etapa de preparao. Divergncias so discutidas, e classificadas como defeito ou falso positivos. A deciso final sobre a classificao de uma disparidade discutida do moderador, contudo, a soluo dos defeitos no discutida durante a reunio. Ao final da reunio, o relator elabora um documento onde so registradas formalmente as decises e aes a serem tomadas Esta reunio no deve exceder duas horas, uma vez que aps este tempo a concentrao e a capacidade de anlise dos inspetores tende a ter drasticamente reduo. Em casos que uma reunio necessitar de mais de duas horas, sugerido que o trabalho de inspeo continue no prximo dia. 2.1.5 Retrabalho O autor corrige as falhas encontradas pelos inspetores e confirmadas pelo moderador. 2.1.6 Continuao O material corrigido pelos autores repassado para que o moderador reavalie a qualidade do artefato. Ele quem decide se uma nova inspeo deve ocorrer ou no.

2.2 VERIFICAO E VALIDAO (V&V) Para atestar se o software adequado e se atende s necessidades do usurio, cumprindo suas especificaes realizada a devida Verificao e Validao (V&V). Por isso Inspeo de software considerado um processo de V&V esttico. Estes processos de verificao e anlise no so separados e independentes, ambos ocorrem em cada estgio do processo de software. A verificao visa garantir que o produto se encontra de acordo com o solicitado, o que no significa que o autor do produto tenha certeza que o mesmo ir satisfazer ao propsito desejado. J a Validao objetiva testar o produto de acordo com algum fim. Com este processo, o autor do produto pode certificar se o mesmo opera de forma satisfatria mesmo no estando de acordo com o especificado. Apesar da Inspeo de software ser largamente utilizada, o teste de programa sempre ser a principal tcnica de verificao e validao do software. Testar compreende pr o programa para funcionar utilizando dados fictcios como se fossem dados reais processados pelo programa. As atividades de teste de um programa objetivam descobrir e identificar erros e falhas que ainda no foram detectados nos processos executados anteriormente. Para a validao e verificao do produto deve-se fazer exames de sadas do programa e observar as anomalias. Existem dois testes que podem ser usados em etapas diferentes no mesmo processo de software: TESTE DE VALIDAO- Tem o objetivo de mostrar que o software atende aos requisitos do cliente TESTE DE DEFEITO- Tem o objetivo de descobrir defeitos no sistema e encontrar inconsistncias entre um programa e sua especificao. Mesmo com finalidades definidas, durante o teste de validao podem ser encontrados defeitos e atravs do teste de defeitos pode-se verificar se o programa atende aos requisitos especificados.. O programa deve ser corrigido medida que os defeitos forem sendo descobertos. Vale ressaltar que assim como o processo V&V so destinados a estabelecer a existncia de defeitos em um sistema de software, o processo de

debugging que localiza e corrige os defeitos encontrados, por isso devem ser intercalados, ou seja, a medida que se detecta os defeitos deve-se corrigi-lo. SOMMERVILLE (2007) define as ferramentas de debugging interativas como parte de um conjunto de ferramentas de apoio da linguagem que esto integradas com o sistema de compilao. Aps descoberto e corrigido o defeito, deve-se reavaliar o sistema ou atravs de uma nova inspeo ao programa ou por teste de regresso. Este ltimo verifica se as correes feitas no introduziram novos defeitos.

2.3 LIDADE DE SOFTWARE

TESTABI

Todos os procedimentos citados at aqui so essenciais para se obter um software de qualidade. Alm disso, atividades de Testabilidade de software tambm so fundamentais na etapa do desenvolvimento de um software, na busca pela garantia da qualidade do produto. Os testes compem uma etapa indispensvel para validar e verificar sistemas em desenvolvimento, uma vez que possibilita a descoberta de erros e falhas, alm de identificar falhas que ainda no foram descobertas nos processos executados anteriormente. Para tanto usam-se nveis, tipos e tcnicas de testes. NVEIS DE TESTE-Servem para validar o produto gradativamente a cada programa ou etapa que esteja sendo desenvolvido. Os nveis de teste podem ser divididos em: Unidade, Integrao, Sistema, Aceitao e Regresso No teste de Unidade ocorre a validao da menor parte de um programa possvel de validao em testes. No teste de Integrao ocorre aps o teste de Unidade, no qual aps testados individualmente, as partes so combinadas e testadas pelos seguinte grupos: No teste de Sistema o mesmo executado sob o ponto de vista de seu usurio final, verificando as funcionalidades em busca de erros em relao aos objetivos originais. No teste de Aceitao feita uma simulao com alguns usurios

finais que testam o software simulando operaes de rotina com dados fictcios ou reais de modo que o usurio avalia o produto est conforme solicitado. O teste de Regresso, apesar de incomum utilizado para validar se o produto desenvolvido pode receber manutenes evolutivas; TIPOS DE TESTE-Servem para encontrar falhas ou defeitos no software de acordo com as seguintes dimenses da qualidade: Funcionalidade- Este teste est previsto em todos os nveis, pois tem a finalidade de validar as funes de capacidade de operar de acordo com os requisitos estabelecidos. Usabilidade- Este teste pode ser aplicado antes da implementao do software e serve para verificar a capacidade do produto de ser compreendido, operado e atraente. Confiabilidade- Requer um cuidado especial, pois testa a capacidade do software de manter um nvel de desempenho conforme o especificado. Neste teste deve ser previsto situaes adversas para ser validado com sucesso. Desempenho-Este teste objetiva avaliar o tempo de processamento, em diversificadas situaes do ambiente computacional. Suportabilidade- Teste apropriado para assegurar que o software obtenha desempenho em diversas condies. Este teste pode ser aplicado em conjunto com o teste de desempenho. TCNICAS DE TESTES- So conceituadas como estrutural ou funcional. Teste funcional ou teste caixa-preta, consiste em uma tcnica de teste em que o componente de software a ser testado abordado como se fosse uma caixa-preta, ou seja, no se considera o comportamento interno do mesmo. Dados de entrada so fornecidos, o teste executado e o resultado obtido comparado a um resultado esperado previamente conhecido. O teste pode ser considerado positivo se o resultado sair conforme o esperado. O componente de software a ser testado pode ser um mtodo, uma funo interna, um programa, um componente, um conjunto de programas e/ou componentes ou mesmo uma funcionalidade. A tcnica de teste funcional aplicvel a todos os nveis de teste (PRESSMAN, 2005). O teste funcional pode ser aplicado por profissionais que no conheam a linguagem de programao do software. Teste estrutural ou teste caixa-branca aplicado para descobrir o

comportamento do sistema, quanto aos eventos bsicos, alternativos ou de excees. trabalha diretamente sobre o cdigo fonte do componente de software para avaliar aspectos tais como: teste de condio, teste de fluxo de dados, teste de ciclos e teste de caminhos lgicos (PRESSMAN, 2005). Esta tcnica descobre falhas que ainda no so possveis de ser verificadas pela tcnica de teste funcional. A atividade do teste estrutural deve ser praticada por profissionais que tem conhecimento acerca da linguagem utilizada na implementao dos programas.

2.4 SGBD RECOMENDADO PARA A LOCADORA DE LIVROS O mysql mantm dados de registros e indices em arquivos separados. Varios banco de dados misturam dados de registros e indice no mesmo arquivo. O mysql tem a vantagem de ser totalmente gratuito para uso tanto comercial, quanto privado, em conformidade com a licena pblica GPL. o mysql suporta vrios diferentes tipos de tabelas e formatos de registros, tendo um timo ganho de perfomace em suas tabelas o mysql muito rapido para recuperao e atualizao de dados manipula um nmero ilimitado de usurios simultneos, alta velociade de execuo, provavelmente o mais rpido do mercado; sistema de segurana simples e funcional; trabalha com diferentes plataformas, Unix, Windows, Linux etc e disponibiliza diversos tipos de dados, suporte a ODBC, manipula grandes bancos de dados com vastos volumes de informaes Pouco exigente quanto a recursos de hardware; Facilidade de uso Replicao facilmente configurvel;

o mysql tambm tem a expano de abranger o negocio para internet graas a sua facil integrao com ferramentas de programao de sites da internet oferecidos atualmente.

10

2.5 LINGUAGEM DE PROGRAMAO RECOMENDADA O java uma liguagem interpretada multiplataforma de propsito geral. Diferentemente das linguagens convencionais, que so compiladas para cdigo nativo, a linguagem Java compilada para um bytecode que executado por uma mquina virtual. uma linguagem de alto nvel multiplataforma que pode ser aplicada tanto em Windows, Mac e Linux como em celulares e na Web. eh uma linguagem com multiplas aplicaes contendo apenas poucas limitaes muito utilizada em aplicaes de e-commerce, e-business, etc. Facilidades de Internacionalizao Suporta nativamente caracteres Unicode. + distribuda com um vasto conjunto de bibliotecas (ou APIs). + Possui facilidades para criao de programas distribudos e multi-thread (mltiplas linhas de execuo num mesmo programa). + Desalocao de memria automtica por processo de coletor_de_lixo. + Carga Dinmica de Cdigo Programas em Java so formados por uma coleo de classes armazenadas independentemente e que podem ser carregadas no momento de utilizao

11

12

3 CONCLUSO Nesse trabalho compreendi a importncia da verificao dos erros em um processo de desenvolvimento que tem como resultado a qualidade de um software. Tambm conheci ferramentas de programao e os SGBDs mais usados no mercado atual, me proporcionando uma opnio pessoal sobre qual linguagem e banco de dados usarei em meus projetos futuros.

13

REFERNCIAS

FAGAN, M.E. Design and Code Inspections to Reduce Errors in Program Development. IBM System Journal, n. 3, vol. 15, p. 219-248, 1976. SOMMERVILLE, Ian. Engenharia de software, 8 ed., traduo: Selma Shin Shimzu Melnikoff, Reinaldo Arakaki, Edilson de Andrade Barbosa; Reviso Tcnica: Kechi Kirama. So Paulo: Pearson Addison Wesley, 2007. PERINI, Luis Cludio; HISATOMI, Marco Ikuro; BERTO, Wangner Luiz. Engenharia de software:sistemas. So Paulo: Pearson Prentice Hall, 2009. PRESSMAN, R. S.Software Engineering: A Practitioners Approach , McGrawHill, 6th ed, Nova York, NY, 2005. Flvio S. Gonzaga, Guilherme Birckan - Curso de PHP e Mysql, Florianpolis - SC, outubro de 2000 Portal do conhecimento, Tutorial MySQL - apostilando.com CASTELA , Rodrigo Tenedini; introduo, Java, Programao, 30/12/2010 http://www.dotsharp.com.br

14

APNDICES

APNDICE A Instrumento de pesquisa utilizado na coleta de dados

Os instrumentos usados foram: Materiais disponveis no Ambiente Virtual de Atividades, livros impressos do 2 semestre, site de busca Google e Wikipdia.