A Ciencia da Computação
Por: anap1989 • 7/5/2015 • Trabalho acadêmico • 1.745 Palavras (7 Páginas) • 298 Visualizações
DESAFIO
Desenvolver softwares com qualidade, eficiência, que atenda aos anseios dos usuários, sem se esquecer dos custos e prazos acordados são um dos maiores desafios dentro da área da computação. Engenharia de Software é um ramo da ciência da computação que determina a metodologia de desenvolvimento e de manutenção de sistemas. Quando se pensa em desenvolver uma solução computacional o profissional deve aplicar diversos conhecimentos que vão desde quais metodologias de desenvolvimento serão escolhidas para o projeto, passando pela elaboração dos requisitos, análise, codificação, testes, implementação e manutenção do produto desenvolvido.
Quando se pensa em escolher uma metodologia que seja a mais indicada para um determinado projeto, devem-se aplicar os conhecimentos adquiridos em relação às diversas técnicas de desenvolvimento. Além de se escolher a melhor metodologia, a equipe deve levar em consideração as melhores práticas para se realizar a etapa da codificação e teste do produto. Neste campo, também existem algumas opções como a análise estruturada e a orientada a objetos. O plano de testes é outro ponto muito importante que não pode ser deixado de lado.
Em muitos cenários pode-se observar que a equipe de desenvolvimento acaba relegando em segundo plano os testes do produto. E, por causa desta visão, o produto final pode apresentar sérios problemas a ponto de ser rejeitado pelo usuário por não atender às suas expectativas. O nosso desafio consiste em desenvolvermos um projeto envolvendo as etapas referentes à engenharia de software e análise de sistemas. Para tanto, deve-se montar uma equipe de 3 a 5 alunos para que a troca de conhecimentos e experiências propicie, ao final desta atividade, uma proposta de desenvolvimento de software coerente e concisa como solução ao problema proposto. Considere que a equipe foi contratada por uma clínica veterinária, cujo nome fantasia é CLIVET, que deseja instalar uma solução computacional para melhorar os controles das informações referentes aos clientes, serviços, produtos e financeiro da empresa. Com vista a atingir o objetivo proposto a equipe deverá desenvolver, durante o semestre, as atividades estipuladas em cada etapa descrita a seguir.
Objetivo do Desafio
Elaborar um projeto de Engenharia de Software que permite o desenvolvimento de um software a ser utilizado em uma clínica veterinária para a administração das rotinas diárias de uma empresa.
Etapa I
Conceitos da Engenharia de Software. Processos de Desenvolvimento de Softwares Clássicos e Ágeis.
Estudo de viabilidade - Reunião com o proprietário e gerente da CLIVET, para estudar o problema do sistema atual e saber o objetivo e requisitos para o novo sistema a ser desenvolvido. Também saber qual a estrutura de hardware é usada hoje na empresa, qual o prazo para que se desenvolva o novo sistema e qual a disponibilidade financeira para custear esse novo projeto.
Obtenção e Analise de requisitos - Vamos definir as característica desejadas para o desenvolvimento do novo sistema.
* Dados cadastrais de clientes, como: Nome, CPF, RG, Endereço completo, Telefone etc.
* Cadastramento do animal a ser atendido.
* Controle administrativo, tais como:
Controle dos serviços prestados, Controle das vendas, Controle de estoque, Relatório de contas a pagar, Relatório de contas a receber, Controle de caixa diário, Controle de Agendamento.
* Gerar relatórios para impressão.
Especificação de Requisitos – Segue abaixo uma tabela com três metodologias de processos mostrando suas características do sistema solicitado.
Metodologia Cascata | Metodologia Prototipação | Metodologia ágil /Scrum | |
Característica 1 O software é facilmente modificado, expansível. | PP | P | P |
Característica 2 Gera protótipo/ beta | NP | P | P |
Característica 3 Exige experiência em programação | NA | NA | P |
Característica 4 Cálculo do fator risco | NP | NP | P |
Característica 5 Curto prazo para a entrega do software | PP | NA | P |
Legenda para a tabela:
• P = possui; • NP = não possui; • PP = possui parcialmente; • NA = não se aplica.
Agora uma tabela que mostra as vantagens e desvantagens de cada metodologia.
Vantagens | Desvantagens | |
Metodologia Cascata | É um método clássico(antigo); muito usado, diminui o tempo de planejamento; tem um formato linear; não requer um alto conhecimento técnico da equipe.
| Uma documentação mais demorada; projetos também demorados para serem concluídos; cliente só poderá ver o sistema rodando em sua conclusão; poderá haver falhas futuras no sistema por não precisar de uma equipe de alto nível técnico; não há uma análise de risco. |
Metodologia Prototipação | Há protótipo do software; o cliente poderá receber um protótipo do software; caso algo não tenha ficado claro na especificação do software o protótipo mostrará isso; fácil para atualizar; recomendado para software que terá constantes mudanças em seus requisitos. | Cliente muitas vezes fica satisfeito com o protótipo e pressiona para que seja colocado logo em uso; Não tem como precisar o tempo para conclusão do sistema; cliente pode ver o protótipo com perda de tempo; o projeto final pode ficar diferente do protótipo; não há análise de risco. |
Metodologia ágil /Scrum | Necessita apenas de um pequeno grupo para ser desenvolvido; velocidade; evita surpresas com os resultados; prioridades podem de alteradas; diminuição dos bugs. | É uma metodologia voltada mais para o desenvolvimento do que o gerenciamento; prazo; sensação de informalidade; falta planejamento do escopo; necessita de uma equipe bem entrosada; |
...