Objetivo da aula
- Introduzir o conceito de Modelo Estruturado para projetos de software
- Entender as etapas que fazem parte do Modelo Estruturado
- Enquadrar o projeto dentre 4 tipos possíveis
Modelo Estruturado
- Modelo Estruturado:
Etapas do Modelo Estruturado
Concepção do Software
Nesta fase, desenvolvem-se:
- Definição do sistema a ser desenvolvido
- Etapa de levantamento das necessidades
- Coleta de documentos
- Entrevistas
- Observações
- Avaliação de uso de técnicas ou produtos atuais
- Inovação tecnológica
Exemplos:
- Criação de um sistema de controle para biblioteca
- Reunião com a diretora que é responsável pelo sistema que está obsoleto
- A ficha catalográfica dos livros, relatórios do controle atual, código ISBN, cadastro dos usuários, ...
- Conversas com as bibliotecárias, os alunos, a diretora, os professores, ...
- Vejo que existem pessoas que reclamam do atendimento! Muitos dizem que o processo de empréstimo é lento!
- É interessante inserir autenticação do usuário pelo polegar? Autenticação do livro via chip? Controle de uso por NFC? ...
- Que tal implantar uma pesquisa semântica? E autenticação do usuário pela íris? ...
Estudo da Viabilidade
Vinicius Faustino Silva
- 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 definicaçã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.
Gustavo de Oliveira Bernardes de Souza
- 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.
- 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?
Otávio de Sousa Cardoso da Costa
- 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.
Projeto Lógico
A solução escolhida começa a ser detalhada e criteriosamente desenhada.
Um sistema:
- É um conjunto de componentes inter-relacionados organizados para atingir um certo objetivo
- É organizado para executar certo método, procedimento ou controle ao processar informações
- Automatiza ou apóia a realização de atividades humanas através do processamento das informações.
Projeto Físico
- Implementação do código baseado numa linguagem com a adição de bibliotecas, APIs, Webservices, Banco de Dados e ambientes de desenvolvimento.
Testes
- Avaliação do cumprimento dos requisitos pré-estabelecidos em testes unitários, de carga ou de serviço.
Manutenção ou Expansão
- Correção de eventuais problemas ou melhoria/adição de funcionalidades.
Tipos de sistemas
- Normalmente cada projeto se enquadra em um dos seguintes tipos:
I - Idéia Radical
- Escopo cujo benchmarking mostra que não existe proposta igual ou que a solução mais parecida ainda está longe da definição do projeto encontrado.
- Exemplo:
- Dinâmica:
- A. Se for de médio ou grande porte => requer projeto e protótipo
- B. Se for de pequeno porte => requer projeto e implementação.
II - Idéia incremental
- Escopo cujo benchmarking mostra que existe proposta parecida e que este projeto pretende manter o escopo básico e criar funções adicionais inovadoras.
- Exemplo:
- Dinâmica:
- Se for de médio ou grande porte => requer projeto e protótipo
- Se for de pequeno porte => requer projeto e implementação de todas funções adicionais
III - Prototipagem
- Projeto que já tem um protótipo desenvolvido mas que não foi modelado. O escopo descreverá a proposta de construção de um sistema completo, com todas as funcionalidades possíveis para se tornar um produto profissional.
- Exemplos:
- Dinâmica:
- Como já tem protótipo, se for de médio ou grande porte => requer projeto completo e demonstração
- Como já tem protótipo, se for de pequeno porte => requer projeto e implementação de novas funções.
IV - Engenharia Reversa
- Projeto que pretende usar uma solução existente e contribuir para sua evolução ou desenvolver um sistema com funcionalidades muito próximas do original.
- Exemplos:
- Dinâmica:
- Como já tem o sistema pronto, se for de médio ou grande porte => requer projeto completo.
- Como já tem o sistema pronto, se for de pequeno porte => requer projeto e implementação de novas funções.
- Como se enquadra um sistema em pequeno, médio ou grande porte?
- Número de funções
- Número de interações
- Complexidade das funções
Agora mãos a obra!!!!
- Definir problema
- Dar nome ao projeto
- Escrever escopo
- Executar Etapa Concepção do Software
- Preencher 5W2H
Iniciando um projeto
- Seleção do projeto:
- Brainstorm
- Discussão sobre ideias, necessidades ou problemas
- Definição:
- Nome e escopo do projeto
- Criação do link no site
- Template: 5W2H
- Brainstorm
- Aquisição dos dados
- Requisitos Funcionais
- Requisitos Não-Funcionais
- Análise
- Discussão em grupo de todos os detalhes possíveis
- Projeto Lógico:
- Documentação
- Projeto escrito
- Diagramas
- Prototipagem:
- Transformação do projeto lógico em um projeto físico reduzido.
- Se pequeno: implementação completa
- Se médio: implementação da navegação e de poucas funções ou casos
- Se grande: implementação da navegação e de uma função ou caso
- Transformação do projeto lógico em um projeto físico reduzido.
Questões
- Lucas Henrique de Oliveira Andrade
- 01. Com relação ao problema para o qual irá modelar um sistema como pretende coletar dados para aprofundar o máximo possível sobre ele?
- 02. Descreva suscintamente as tecnologias que poderão ajudar a resolver seu problema.
- 03. Quais especialistas sobre o assunto você conhece ou ouviu falar que poderá ajudar a conhecer mais sobre as possíveis soluções para seu problema?
- Alyson willians
- 04. Você sabia que inovação tecnológica não quer dizer invenção? O que é então?
- 05. Cite um exemplo de inovação tecnológica em qualquer área.
- 06. Descreva um exemplo de operação, por exemplo, na Biblioteca da sua escola.
- Victor Biagiotti Saint Martin
- 07. Descreva um exemplo de operação, por exemplo, no site de comércio eletrônico.
- 08. O problema que pretende resolver pode ser enquadrado em qual dos tipos de sistemas?
- 09. O que são Mod-Games? O que é um SDK?