Pitch
Requisitos para apresentação
- Antes do dia da apresentação:
- 01. Faça o upload do Canvas no link abaixo
- 02. Defina quem será o apresentador
- Na hora da apresentação
- 03. Aguarde o sorteio da ordem do Pitch
- 04. Acesse seu Canvas
- 05. Durante 10 minutos: Apresente sem interrupções
- 06. Durante 5 minutos: Abra para perguntas
- 07. Responda de forma objetiva e peça que seu parceiro anote as perguntas
- Até 24 hs depois da apresentação:
- 08. Registre as perguntas e respostas no link
- 09. Complemente o Canvas, se necessário, mude o nome do arquivo
- 10. Faça novo upload
Objetivo da aula
- Introduzir o conceito de Modelo Estruturado para projetos de software
- Entender as etapas que fazem parte do Modelo Estruturado
- Explicar Mockups
Modelo Estruturado
Etapas do Modelo Estruturado
- Desenvolvimento em Cascata
Requisitos (Concepção do Software)
Nesta fase, desenvolvem-se:
- A. Levantamento das necessidades, ideias ou obrigações
- B. Coleta de documentos
- C. Entrevistas com Stakeholders
- D. Observações do problema corrente
- E. Avaliação de tecnologias atuais
- F. Possibilidades de Inovação tecnológica
- G. Definição dos requisitos funcionais
- H. Definição dos requisitos não-funcionais
Exemplos:
- A => Reunião com a diretora que é responsável pelo sistema que está obsoleto e ela demanda novo software
- B => A ficha catalográfica dos livros, relatórios do controle atual, código ISBN, cadastro dos usuários, relatórios de livros, etc
- C => Conversas com as bibliotecárias, atendentes, alunos, a diretora, professores, ...
- D => Vejo que existem pessoas que reclamam do atendimento! Muitos dizem que o processo de empréstimo é lento! Difícil encontrar alguns livros!
- E => É interessante inserir autenticação do usuário pelo polegar? Autenticação do livro via chip? Controle de uso por NFC? RFId? Mostrar estantes em RA?
- F => Que tal implantar uma pesquisa semântica? E autenticação do usuário pela íris? Blockchain?
- G => Finalmente: Quais itens serão desenvolvidos?
- Função 1: Cadastrar livro
- Função 2: Emprestar livro
- Função 3: Devolver livro
- Função 4: Cadastrar usuário
- Função 5: Autenticar usuário
- Função 6: Distribuir nas estantes
- Função 7: Relacionar devedores
- ...
- Função n: ....
- H => Para completar: Quais os aspectos que darão suporte ao desenvolvimento, implantação e operação do sistema?
- Aspecto 1: Sistema Operacional
- Aspecto 2: Ambiente web e mobile
- Aspecto 3: Dispositivos onde a aplicação será usada
- Aspecto 4: Facilidades disponíveis para o usuário, tipo interface para usuários com deficiências
- Aspecto 5: Onde o sistema será hospedado?
- Aspecto 6: Requisitos críticos => tempo de resposta, escalabilidade, desempenho, ...
- Aspecto 7: Como evitar currupção e invasões no sistema
- ...
- Aspecto n: ....
Análise
- Quando se começa a discutir a possibilidade ou a necessidade de se fazer algo, deve-se avaliar a relação custo-benefício => Why
- Avaliação dos recursos técnicos disponíveis => Who
- Tendo a certeza de que será feito, quem poderá gerenciar, desenvolver, usar, pagar, manter, etc
- Hardware, software e pessoas => What
- Com a definição clara do que será feito e sabendo que um sistema é um processo de [Input - Processamento - Saída] pode-se definir tudo o que interagirá com o sistema em termos de dados.
- Aspectos das soluções que implicarão mudanças de rotinas existentes => How
- Um software depois de pronto tem que ser corrigido, melhorado, etc. Os dados devem ser backupeados, atualizados, etc. Existirão pessoas e ambientes que lidarão com ele.
- Para o estudo da viabilidade operacional é preciso entender primeiramente o atual problema do software em questão, e, a partir daí, o programador, ou a equipe, devem se perguntar algumas coisas como: "Vale a pena resolver esse problema?", "A solução proposta pode realmente resolver o problema?" e "Qual será a experiência do usuário final ao utilizar esse programa?". Sendo assim é preciso fazer algumas comparações entre o programa em sua fase atual e como ele estaria depois das alterações necessárias. Alguns critérios interessantes de se analisar nesse quesito são:
- Performance e eficiência: Nesse critério são feitas comparações do programa atual e o modificado a respeito do tempo de resposta, utilização de todos os recursos disponíveis e também as facilidades para a compreensão de seu funcionamento.
- Informações: É necessário comparar os programas para ter certeza de que as informações adquiridas são de fato seguras, confiáveis e úteis para a empresa ou usuário que manipula o software.
- Economia: Obviamente também é preciso checar se a nova solução é economicamente viável, tanto para o programador, quanto para a empresa ou usuário do software em questão.
- Após esse estudo é possível dizer se é viável ou não a modificação do programa em questão, por isso, os temas acima são realmente necessários quando se trata do estudo da viabilidade operacional.
- Impactos na área, na empresa, na sociedade. Discussões de ordem ética e moral => When
- Durante ou depois que for desenvolvido, será utlizado por pessoas ou empresas. No tempo em que for usado interferirá em alguma regra, ambiental, legal ou regulatória?
- No tópico acima foram abordados temas de maneira mais geral, mas também é preciso ver a unicidade de cada situação, sendo assim, é preciso entender que cada usuário, empresa ou organização que pode ser usuário desse software e para isso estuda-se as regras internas de cada empresa, os direitos dos trabalhadores e humanos. Não deve-se esquecer também que em pleno século XXI a natureza encontra-se cada vez mais desgastada e por isso faz-se necessária uma análise de legislação ambiental.
- Durante ou depois que for desenvolvido, será utlizado por pessoas ou empresas. No tempo em que for usado interferirá em alguma regra, ambiental, legal ou regulatória?
- Concluí-se então que, após a análise dos temas do tópico acima somados com as peculiaridades de cada empresa, seus funcionários, usuários e o ambiente temos a compreensão se é viável ou não a alteração do software.
- Possíveis soluções tecnicamente disponíveis e utilizáveis => Where
- As estruturas que abrigarão o software devem ser consideradas porque efetivamente ele tem que rodar em algum lugar. Esse lugar tem custo e também requisitos técnicos
- Investimento necessário => How much
- Com os dados discutidos nos itens anteriores, deve-se ter a noção de custos nas seguintes fases: desenvolvimento, manutenção e operação.