Buscar

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIP EaD 
Projeto Integrado Multidisciplinar 
Cursos Superiores de Tecnologia 
 
 
 
 
 
 
PROJETO DESENVOLVIMENTO SISTEMA LINGUAGEM C 
VENDA DE INGRESSOS DE TEATRO 
PIM –IV 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
RIO VERDE – GO 
2018 
 
 
UNIP EaD 
Projeto Integrado Multidisciplinar 
Cursos Superiores de Tecnologia 
 
 
 
 
 
 
 
PROJETO DESENVOLVIMENTO SISTEMA LINGUAGEM C 
VENDA DE INGRESSOS DE TEATRO 
PIM –IV 
 
 
 
 
 
ALUNO: 
FERNANDO ANTONIO OTONI JUNIOR 
RA: 1834988 
CURSO: SUP. TEC. EM ANALISE DE SISTEMAS 
DESENVOLVIMENTO DE SISTEMAS 
SEMESTRE: 2º 
 
 
 
 
RIO VERDE GO 
2018 
 
 
 
RESUMO 
 
 
 
 
 O presente trabalho tem como principal objetivo desenvolver um sistema de venda 
de ingressos para teatro, contendo uma tabela de descontos seguindo alguns critérios 
de ordem etária e social, o sistema será desenvolvido na Linguagem de programação 
(C++), que atendera todos os requisitos solicitados 
 
 
 
Palavras-Chave : Engenharia de Software, Linguagem de Programação , Sistemas 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ABSTRACT 
 
 The presente work has as manin objective to develop a system of ticket saless 
for theater with a discount table following some criteria of age and social order, the 
system wil be developed in the language of Programming (C++), that will meet all the 
request requirments 
 
 
Keywords: Software Engineering, Programming Language, Sistems 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SUMÁRIO 
RESUMO....................................................................................................................02 
ABSTRACT................................................................................................................03 
SUMÁRIO...................................................................................................................04 
1.INTRODUÇÃO........................................................................................................05 
 2. HISTÓRIA DA PROGRAMAÇÃO.........................................................................06 
 3. LINGUAGEM DE MODELAGEM..........................................................................08 
 4. HISTÓRIA DO C/C++............................................................................................09 
 4.1 FIGURA 1 -C-C++..........................................................................................10 
 4.2 FIGURA 2 –C++.............................................................................................11 
 5. ENGENHARIA DE SOFTWARE...........................................................................12 
 5.1 OBJETIVOS DA ENGENHARIA DE SOFTWARE.........................................13 
 5.2 DEFINIÇÕES DE ENGENHARIA DE SOFTWARE........................................13 
 5.3 MODELOS DE SOFTWARE...........................................................................14 
 6. INCREMENTAL, ESPIRAL, PROTOTIPAÇÃO E CASCATA.............................16 
 6.1 O MODELO INCREMENTAL.........................................................................16 
 6.2 FIGURA1........................................................................................................16 
 6.3 O MODELO ESPIRAL...................................................................................18 
 6.4 FIGURA 2.......................................................................................................18 
 6.5 MODELO PROTOTIPAÇÃO..........................................................................19 
 6.6 FIGURA3........................................................................................................19 
 6.7 MODELO CASCATA, LINEAR OU CLÁSSICO............................................22 
 6.8 FIGURA 4.......................................................................................................22 
 CONSIDERAÇÕES FINAIS.....................................................................................24 
 REFERÊNCIAS........................................................................................................25
5 
 
 
INTRODUÇÃO 
 
 A evolução do tempo e das maquinas, e softwares vem acontecendo 
rapidamente e tomando espaço em todos os níveis de hardware e software desde um 
simples eletrodoméstico como por exemplo uma cafeteira até os mais evoluídos como 
tvs, computadores, telefones, tablets e outros, em todos existem desde um pequeno 
software CLP (controlador logico programável), até a mais avançada linguagem de 
programação, linguagem esta que tornam os equipamentos mais acessíveis e 
funcionais com várias funcionalidade, com isso acompanhamos uma transformação 
na forma de agir e pensar, no estilo de vida, nos desejos, na conduta e nas atitudes 
sociais, políticas e econômicas. 
 Essa evolução em alguns casos é tão rápida que se torna difícil de acompanhar, 
a internet em si movimenta o mundo dos negócios e estabelece novas formas de 
gerenciamentos, tecnologias que visam o aumento da capacidade produtiva com os 
menores custos e expansão dos negócios para além das fronteiras nacionais, 
mostrando que a cada vez mais, se gera novas informações e rapidamente exigindo 
maturidade intelectual e preparação para continuar no mundo tecnológico. 
 Muitos aspectos de vida social, profissional e pessoal foram afetados pelas 
novas tecnologias, desde a agricultura até a construção civil em resumo todas as 
áreas profissionais se beneficiam com a evolução tecnológica. Desta forma, não há 
como pensar nas relações entre as pessoas nas empresas sem a mediação dos meios 
rápidos de informação, tais como e-mails, mensagens, imagens e outras diversas 
ferramentas presentes na era digital a internet das coisas. 
 Estas mudanças trouxeram consigo amplos modelos de negócios, levando as 
organizações a encontrarem novas formulas de trabalho, novas formas de planejar, 
bem como levaram a arrumar novas ferramentas que permitissem a otimização de 
recursos e maximização da produtividade. 
 E assim o desenvolvimento assume o papel principal de otimização e evolução 
ininterrupta e continua para satisfazer e atender cada cliente. 
 
6 
 
 
2. HISTÓRIA DA PROGRAMAÇÃO 
 
 A linguagem de programação usadas para a comunicação com o computador 
são constituídas de comandos, que quando utilizados corretamente, executam uma 
ação. 
 A programação nos computadores não tem uma data correta de início, tudo 
começou na década de 30, com os primeiros computadores elétricos. Em 1948, 
konrad Zuse publicou sua criação, a linguagem de programação Plankalbul. Na época, 
ainda não tinha muita utilidade, então foi esquecida, antes da programação passar 
para o computador, eram usados cartões de papelão que eram perfurado, criando 
códigos. Foi na década de 50 que as primeiras linguagens de programação modernas 
surgiram, Fortran (1955), Lisp, a List Processor e Cobol, a Common Business Oriented 
Language, também apareceu na mesma época a Algol60. 
 Os paradigmas da programação foram criados, em sua maioria, na década de 
70, nesta época surgiram: 
 Simula: inventada nos anos 1960 por Nvgaard e Dahl foi a primeira linguagem 
a suportar o conceito de classes. 
 C: uma das primeiras linguagem de programação de sistemas, criado por 
Dennis Ritchie e Ken Thompson, tem uma das maiores influenciasno mundo atual. 
 Prolog: projetada em1972, foi a primeira linguagem de programação com 
paradigma lógico. 
 Pascal: outra importante linguagem, embora atualmente esteja quase sem uso. 
 Nos anos 80 surgiu a linguagem C++, que se tornou tão importante quanto o 
C, entre outras: 
 C++: criada para ser compatível com o C, o C ++ foi muito importante, pois é 
mais simples e dinâmico. 
 Perl: uma boa linguagem, ótima para trabalhar em níveis de sobrecarga grande. 
7 
 
 Nos anos 90, a internet surgiu como um furacão, e mudou totalmente o rumo 
da programação, as linguagens Java e Javascript foram criadas nesta época, ambas 
relacionadas com a internet surgiu também o Visual Basic e Object Pascal. 
 Java: linguagem relativamente simples, orientada para objetos, que foi criada 
com a ideia de revolucionar as linguagens de programação 
 PHP: muito importante para o desenvolvimento de aplicativos para web, esta 
linguagem está cada vez mais tomando conta dos web sites. 
 A programação está em todas os equipamentos eletrônicos atuais, cada 
programa, cada página na internet, está escrita em alguma linguagem de 
programação, com o tempo as linguagens vêm se unindo, formando linguagens mais 
fortes e com mais funções. 
 E assim passou por um grande processo, porém bastante rápido, estas 
linguagens estão ficando cada vez mais fáceis de interpretar e escrever. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8 
 
 
 
 
3.LINGUAGEM DE MODELAGEM 
 
 
 Durante muitos anos, o maior problema para utilização de modelos de software 
foi a falta de uma linguagem de modelagem comum. As diferentes notações e 
linguagens foram desenvolvidas visando software com características especificas. 
 Por exemplo, desenvolvedores de software de controle e tempo real utilizavam 
notações como Statecharts e redes de Petri; desenvolvedores de sistemas de banco 
de dados utilizavam Diagramas Entidades- Relacionamento (DER); e 
desenvolvedores de sistemas de informação utilizavam Diagramas de Fluxo de Dados 
(DFD); como parte de metodologias estruturadas. 
 Com o surgimento do paradigma de programação orientada-a-objetos, o número 
de métodos com suas notações associadas aumentou bastante, vindo somar-se aos 
diversos já existentes. 
 No final da década de 90, o OMG (Object Management Group), incentivou a 
criação de uma linguagem padrão para métodos orientados a objetos. A UML que 
unificou diferentes notações já existentes foi aprovada para ser um padrão da indústria 
de software. 
 
 
 
 
 
 
 
 
 
9 
 
4. HISTÓRIA DO C / C++ 
 
 O C++ é uma linguagem de programação de nível, médio, baseada na linguagem 
C. 
 O desenvolvimento da linguagem começou na década de 80, por Bjarme 
Stroustrup. O objetivo do desenvolvimento desta linguagem era melhorar uma versão 
do núcleo Unix. Para desenvolver a linguagem, foram acrescentados elementos de 
outras linguagens de vários níveis, na tentativa de criar uma linguagem com 
elementos novos, sem trazer problemas para a programação. 
 No início do desenvolvimento, a linguagem usava um pré-processador, mais 
Stroustrup criou um compilador próprio, com novas características. 
 A primeira versão oficial do C++ em 1985, juntamente com o livro The C++ 
Progamming Language, que esclareceu vários pontos sobre o C++. Em 1989 foi 
lançada uma segunda versão da linguagem, com acréscimo das características: 
Herança múltipla, classes abstratas, métodos estáticos, métodos constantes e 
membros protegidos, incrementando também um suporte de orientação a objeto. Um 
ano depois foi lançado o livro The Annotated C++ Reference Manual, que se tornou 
uma base. 
 O C++ tem uma enorme variedade de códigos, pois além de seus códigos, pode 
contar com vários da linguagem C. Esta variedade possibilita a programação em alto 
e baixos níveis. O C++ apresenta grande flexibilidade, embora seja bom, este fato faz 
com que a programação seja muito mais cuidadosa para não termos erros. 
 Alguns fatos sobre o C++: 
 O C++ é uma linguagem para ser tão eficiente quanto o C, porém com novas 
funções. 
 É uma linguagem que suporta múltiplos paradigmas. 
 A linguagem da liberdade para o programador escolher as opções, mesmo 
sendo a opção errada. 
 Muitos códigos podem ser transferidos para C facilmente, pois o C++ foi criado 
para ter compatibilidade com o C. 
10 
 
 A linguagem não tem privilégios para alguns grupos de programadores, os 
comandos são feitos para todas as especialidades de programadores. 
 Alguns dos mais conhecidos programas sãos feitos em C++, ou parte do seus 
códigos são nessa linguagem, alguns deles são: Adobe, Photoshop. Mysql, Mozila 
Firefox, Internet Explorer, Microsoft Windows entre vários outros. 
 A linguagem C é mais complicada e tem de ter mais atenção a erros de logica, 
porém é mais fácil corrigir erros que em C++, pois muitas das sintaxes do C++ são 
sutis, e quando se erra alguma coisa mínima, o código simplesmente não funciona, 
ou em caso de erros menores, o código passa a apresentar problemas muito difíceis 
de identificar 
 
 
4.1 Figura C / C++ 
 
 
 
 
 
 
 
 
 
 
11 
 
4.2 Figura C++ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12 
 
5. ENGENHARIA DE SOFTWARE 
 
 Engenharia é a atividade em que os conhecimentos científicos e técnicos e a 
experiência pratica são aplicados para exploração dos recursos naturais, para o 
projeto, construção e operação de objetos uteis (origem Wikpédia, a enciclopédia 
livre). 
 Como cada vez mais as empresas vem automatizando seus serviços e criando 
suas próprias plataformas digitais, a profissão engenheiro de software foi considerada 
a 2ª melhor da área de TI em crescimento e remuneração, segundo o site 
especializado em carreiras de tecnologia (CareerCast). 
 O software consiste na “parte logica” do computador que inclui sistema 
operacional e programas, então basicamente estes profissionais projetam e guiam o 
desenvolvimento de programa, aplicativos e sistemas de forma que atendam aos 
requisitos e cumpram as funções determinadas. 
 Essas definições são suficientes para designar tudo aquilo que envolve 
engenharia. Para entender melhor o que é engenharia, propomos que você faça uma 
pesquisa para responder as seguintes questões: 
 Qual a diferença entre o desenvolvimento de um produto de forma artesanal e o 
desenvolvimento seguindo os princípios de engenharia? Em outras palavras, qual a 
diferença entre o trabalho de um artesão e o de um Engenheiro? 
 Qual a diferença entre cozinhar e fazer engenharia de alimentos? 
 O que as diferentes engenharias (Civil, mecânica, elétrica/eletrônica, química, 
ambiental, etc), tem em comum? 
 Uma engenharia não é uma atividade especifica. Um engenheiro é aquele que 
tem o conhecimento cientifico e a experiência para desempenhar uma ou mais das 
diversas atividades de engenharia. 
 Além disso, a atividade de engenharia não pode prescindir da garantia da 
qualidade do produto, da conformidade as normas, e do planejamento e 
gerenciamento de custos prazos. 
 
13 
 
5.1 OBJETIVOS DA ENGENHARIA DE SOFTWARE 
 
 A engenharia de software tem por objetivo a aplicação de teoria, modelos, 
formalismo e técnicas e ferramentas da ciência da computaçãoe áreas afins para a 
produção (desenvolvimento), sistemas de software. Associado ao desenvolvimento, é 
preciso também aplicar métodos, técnicas e ferramentas para o gerenciamento do 
processo de produção. Isto envolve planejamento custos e prazos, montagem da 
equipe e garantia de qualidade do produto e do processo. 
 Finalmente, a engenharia de software visa a produção da documentação formal 
do produto, do processo, dos critérios qualidade e dos manuais de usuários finais. 
 
 
5.2 DEFINIÇÕES ENGENHARIA DE SOFTWARE 
 
 Diversos autores apresentam definições para engenharia de software, 
apresentaremos três das que considero complementares. 
 A engenharia de software é a disciplina envolvida com a produção e manutenção 
sistemática de software que são desenvolvidos com custos e prazos estimados. 
 Disciplina que aborda a construção de software complexo com muitas partes 
interconectadas e diferentes versões por uma equipe de analistas, projetistas, 
programadores, testadores, etc. 
 O estabelecimento e uso de princípios de engenharia para a produção 
economicamente viável, de software de qualidade que funcione em maquinas reais. 
 A primeira destas definições enfatiza que a engenharia visa não apenas o 
desenvolvimento, mas também a manutenção do produto. Além disso, ela ressalta, a 
importância da estimativa d custos e prazos de desenvolvimento. 
 A Segunda definição enfatiza a complexidade do produto e do processo. O 
software é formado por diversos componentes interconectados e o seu 
desenvolvimento é realizado por uma equipe com diferentes funções e 
especialidades, cujo trabalho precisa ser gerenciado. 
14 
 
 A terceira ressalta que o desenvolvimento de software deve seguir os princípios 
comuns as todas engenharias e deve visar a qualidade. 
 
5.3 MODELOS DE SOFTWARE 
 
 Modelos são essenciais em qualquer atividade de engenharia, o software, por ser 
um artefato invisível e conceitual, mas do que qualquer outro artefato, precisa ser 
construído com base em modelos. 
 Existem vários modelos de processors de software (ou paradigmas de 
engenharia de software), cada um representa uma tentativa de colocar ordem em uma 
atividade inerentemente caótica. 
 Diagramas são as formas mais utilizadas de modelagem na engenharia de 
software. Um protótipo também é um tipo de modelagem de software que vem sendo 
utilizado para apoiar diversos métodos de desenvolvimento. 
 Modelos de software são construídos para uma visualização do sistema a ser 
construído, permitindo uma melhor compreensão e entendimento. Eles podem 
também ser utilizados para a especificação e para a documentação do software. O 
modelo quando utilizado para especificação possibilita uma descrição precisa do que 
será desenvolvido pelos programadores. A documentação através de modelos deve 
refletir o que foi desenvolvido e será a base para as atividades de manutenção. 
 De acordo Booch, Rumbaungh r Jacobsonm, alguns princípios devem ser 
seguidos: 
 A escolha de qual modelo construir tem uma profunda influência em como um 
problema é atacado e como uma solução é delineada. 
 Todo modelo pode ser expresso em diferentes níveis de precisão. 
 Os melhores modelos estão conectados a realidade. 
 Nenhum modelo único é suficiente. Todo sistema não trivial é melhor abordado 
através de um conjunto pequeno de modelos proximamente independentes, 
15 
 
 O uso de modelos em ambientes integrados de desenvolvimento de software vem 
sendo utilizado para auxiliar a construção de software. Algumas ferramentas permitem 
que o código seja gerado a partir de modelos. Esta abordagem é conhecida como 
desenvolvimento dirigido por modelos e tem como base o uso de arquiteturas dirigidas 
por modelos que são construídas utilizando a UML (Linguagem de Modelagem 
Unificada). 
 Na área de Engenharia de Software, a Linguagem de Modelagem Unificada ( do 
inglês, UML Unified Modeling Language), é uma linguagem de modelagem que 
permite apresentar um sistema de forma padronizada (com intuito de facilitar na 
compreensão pré-implemental). 
 A UML (Unified Modeling Language) não é uma metodologia de desenvolvimento, 
o que significa que ela não diz para você o fazer primeiro e em seguida ou como 
projetar seu sistema ela lhe auxilia a visualizar seu desenho e a comunicação entre 
objetos (e em certos casos a identificação dos processos). 
 Basicamente, a UML permite que desenvolvedores visualizem os produtos de 
seus trabalhos em diagramas padronizados. Junto com uma notação gráfica, a UML 
também especifica significados, isto é semântica, é uma notação independente de 
processos, embora o RUP (Rational Unified Process) tenha sido especificamente 
desenvolvido utilizando a UML. 
 É importante distinguir entre um modelo e um diagrama (ou conjunto de 
diagramas) de UML, o último é uma representação gráfica da informação do primeiro, 
mas o primeiro pode existir independentemente. O XML (XML Metada Interchange), 
na sua versão corrente disponibiliza troca de modelos, mas não de diagramas. 
 Os objetivos da UML são: especificação, documentação, estruturação para sub 
visualizar e maior visualização logica do desenvolvimento completo de um sistema de 
informação 
 
 
 
 
 
16 
 
6. INCREMENTAL, ESPIRAL, PROTOTIPAÇÃO E CASCATA 
6.1 O MODELO INCREMENTAL 
 
 
 
 
 
 
 
6.2 Figura 1 
 Barry Boehm sugeriu em vista as limitações da abordagem tradicional, que o 
desenvolvimento de sistemas de informação poderia sere administrado uma serie de 
incrementos. 
 Assim poderia haver uma serie de ciclos de vida tradicionais para cada 
incremento. 
17 
 
 O modelo incremental foi desenvolvido através da combinação entre os modelos 
linear e prototipação. O desenvolvimento é dividido em etapas, denominadas 
“incrementos”, que produzirão incrementalmente o sistema, até sua versão final. 
 Em cada incremento é realizado todo o ciclo do desenvolvimento de software, do 
planejamento aos testes do sistema já em funcionamento. Cada etapa produz um 
sistema totalmente funcional, apesar de ainda não cobrir todos os requisitos. 
 O modelo incremental apresenta diversas vantagens para o desenvolvimento de 
um software, especialmente se os requisitos não estão claros inicialmente. 
 Por exemplo: quando o modelo incremental é utilizado, o primeiro incremento é 
normalmente constituído do núcleo dos sistemas. Isto é, os requisitos básicos são 
implementados e os detalhes suprimidos. Esse produto será entregue para uma 
avaliação, que poderá detectar, inicialmente, problemas que poderiam ser de 
dimensões muito maiores se detectados somente na entrega do produto final. 
 Outra vantagem para o desenvolvedor é que, em contato com o sistema, o 
cliente esclarece seus requisitos e suas prioridades para os próximos incrementos, 
além de contar com serviços da versão já produzidas. 
 Outras vantagens são: 
 A construção de um sistema menor é sempre menos arriscada que a 
construção de um grande; 
 Se um grande erro é cometido, apenas o ultimo incremento é descartado; 
 Reduzindo o tempo de desenvolvimento de um sistema, as chances de 
mudanças nos requisitos do usuário durante o desenvolvimento são menores. 
 
 
18 
 
6.3 O MODELO ESPIRAL
 
 
 
6.4 Figura 2 
 
 Seguindo a mesma linha do modelo incremental, foi proposto o modelo EPS 
(Boehm 1988)- Evolutionary Spyral Process. Este modelo baseia-se em quatro 
principais atividades:Determinação dos objetivos, alternativas e restrições; 
 Analise de risco e prototipação; 
 Validação e verificação; 
 Planejamento da faze seguinte; 
 Esta concepção tende a criar um roteiro de atividade e etapas para ser uma 
maturidade do processo evolutivo de desenvolvimento de sistemas complexos e obter, 
ao final um produto em sua forma mais completa possível. 
 Problema do modelo espiral: 
19 
 
 O modelo espiral, por suas características de avaliação e planejamento 
baseadas em risco, exige que se tenha gerentes e técnicos experientes. 
 As tarefas gerenciais para acompanhamento e controle do projeto tornam-se 
mais difíceis, uma vez que o modelo em espiral pode levar ao desenvolvimento em 
paralelo de múltiplas partes do projeto, cada uma sendo abordada de modo 
diferenciado. É necessário o uso de técnicas especificas para estimar e sincronizar 
cronogramas, bem como para determinar os indicadores de custos e progresso mais 
adequados. 
 
6.5 MODELO PROTOTIPAÇÃO 
 
 
 
6.6 Figura 3 
 
 Baseado no desenvolvimento de um protótipo com base no conhecimento dos 
requisitos iniciais para o sistema. O desenvolvimento é feito obedecendo a realização 
das diferentes etapas de análise de requisitos, o projeto, a codificação e os testes. 
Não necessariamente esta etapas devem ser realizadas de modo muito explicito ou 
formal. 
20 
 
 A definição de todos os requisitos necessários ao sistema pelo cliente ou usuário 
geralmente é uma tarela muito difícil. É quase impossível prever como o sistema irá 
afetar o funcionamento das práticas de trabalho, como será a interação com outros 
sistemas e que operações dos usuários devem ser automatizadas. Mas para poder 
testar os requisitos de uma forma mais eficiente, seria necessário a utilização de um 
protótipo do sistema. 
 Um protótipo é uma versão inicial de um sistema de software, que é utilizada para 
mostrar conceitos, experimentar opções do projeto e, em geral, para conhecer mais 
sobre os problemas e suas possíveis soluções. O desenvolvimento rápido de um 
protótipo é essencial para que os custos sejam controlados e os usuários possam 
fazer experiências com o protótipo no início do processo de software 
 Um protótipo de software apoia duas atividade do processo de engenharia de 
requisitos: 
 Levantamento de requisitos – Os protótipos de sistemas permitem que os 
usuários realizem experiências para ver como o sistema apoia seu trabalho. Eles 
obtém novas ideias para os requisitos e podem identificar pontos positivos e negativos 
do software. Eles podem então, propor novos requisitos de sistema. 
 Validação de requisitos- O protótipo pode revelar erros e omissões nos requisitos 
propostos. Uma função descrita em uma especificação pode parecer útil e bem 
definida. Contudo, quando essa função é utilizada com outras, os usuários muitas 
vezes acham que sua visão inicial era incorreta e incompleta. A especificação de 
sistema pode então ser modificada para refletir sua compreensão alterada dos 
requisitos. 
 Na maioria dos projetos, o primeiro sistema construído dificilmente será usável. 
Ele pode ser muito lento, muito grande, desajeitado em uso, ou todos os três. A 
questão administrativa, não é se deve construir um sistema-piloto e jogá-lo fora. Isso 
será feito. A única questão é se deve planejar antecipadamente a construção de algo 
que se vai jogar fora ou prometer entregar isso aos clientes. 
 O protótipo pode ser oferecido ao cliente em diferentes formas: 
 Protótipo em papel; 
21 
 
 Modelo executável em PC retratando a interface homem-máquina capacitando 
o cliente a compreender a forma de interação com o software; 
 Protótipo de trabalho que implementa um subconjunto dos requisitos indicados; 
 Programa existente (pacote) que permita representar toda ou parte das funções 
desejadas para o software a construir. 
 Vantagens da Prototipação: 
 Modelo de desenvolvimento interessante para alguns sistemas de grande porte 
que representam um certo grau de dificuldade para exprimir rigorosamente os 
requisitos; 
 É possível demonstrar a realizabilidade através da construção de um protótipo 
de sistema; 
 É possível obter uma versão, mesmo simplificada do que será o sistema, com 
um pequeno investimento inicial; 
 A experiência adquirida no desenvolvimento do protótipo vai ser de extrema 
utilidade nas etapas posteriores do desenvolvimento do sistema real, permitindo 
reduzir o seu custo e resultado num sistema melhor concebido; 
 Problemas de prototipação; 
 Quando informações que o produto precisa ser reconstruído, o cliente exige 
que alguns acertos sejam aplicados para tornar o protótipo um produto; muito 
frequentemente, a gerencia de desenvolvimento de software cede. 
 O desenvolvimento muitas vezes faz concessões de implementação afim de 
colocar um protótipo em funcionamento rapidamente. Depois de algum tempo, o 
desenvolvedor pode familiarizar-se com essas opções e esquecer-se de todas as 
razões pelas quais elas são inadequadas- a opção menos ideal se tornou então parte 
integrante do sistema. 
 
 
 
 
22 
 
6.7 MODELO CASCATA, LINEAR OU CLÁSSICO 
 
 
 
 
 
6.8 Figura 4 
 
 
 O modelo cascata descreve um método de desenvolvimento que é linear e 
sequencial. Na primeira vez que uma fase de desenvolvimento é completada, o 
desenvolvimento prossegue para a próxima fase e não há retorno. A vantagem do 
desenvolvimento cascata é que ele permite controle departamental e gerencial. Um 
planejamento pode ser atribuído com prazo final para cada estágio de 
desenvolvimento e um produto pode prosseguir no processo de desenvolvimento, 
teoricamente se entregue no prazo. O desenvolvimento move do conceito, através do 
projeto (design), implementação, teste, instalação, descoberta de defeitos e termina 
com a operação e manutenção. Cada fase de desenvolvimento prossegue em uma 
ordem estrita, sem qualquer sobreposição ou passos iterativos (Pressman, 2006). 
 A desvantagem do desenvolvimento em cascata é que ele não permite muita 
flexibilidade ou revisão. A primeira vez que uma aplicação está em estágio de teste é 
muito difícil retornar e mudar alguma coisa que não foi bem pensada no estágio 
conceitual. 
23 
 
 O modelo cascata inicia de uma abordagem orientada a projetos para a 
engenharia de software. O projeto é considerado é uma tarefa claramente delineada 
para a qual os resultados desejados podem ser determinados completamente e sem 
ambiguidade. 
 Pressman (1995) aponta alguns problemas identificados neste ciclo da vida: 
 Os projetos reais raramente seguem o fluxo sequencial que o modelo propõe. 
Alguma iteração sempre ocorre e traz problemas na aplicação do paradigma 
 Muitas vezes é difícil para o cliente detectar todas as exigências explicitamente. 
O ciclo de vida clássico exige isso e tem dificuldade de acomodar a incerteza natural 
que existe no começo de muitos projetos. 
 O cliente deve ter paciência. Uma versão de trabalho dos programas não estará 
disponível até um ponto tardio do cronograma do projeto. Um erro crasso, se não for 
detectado até que o programa de trabalho seja revisto, pode ser desastroso. 
 Peters (2001) aponta vantagens e desvantagens: 
 Vantagens: Permitir a gerencia do baseline, que identifica um conjunto de 
documentos produzidos como resultado de cada fase do ciclo de vida. 
 Desvantagens: Não é capaz de estabelecercomo efetuar engenharia reversa de 
um sistema existente e faltam noções de prototipação rápida e desenvolvimento 
incremental. 
 
 
 
 
 
 
 
 
 
 
24 
 
CONSIDERAÇÕES FINAIS 
 
 Após analisar diversos fatores, a linguagem de programação definida foi a C++, 
por seus softwares serem livres (gratuitos), contém uma gama de recursos e são bem 
intuitivos e com diversas Library (bibliotecas). Após a escolha da linguagem, o modelo 
de software escolhido nesse sistema foi o cascata, que para ser desenvolvido leva-se 
em consideração vários fatores primordiais para sua confecção, sendo assim, pode-
se dizer que todas as variações do modelo cascata contam com o mesmo conceito 
básico, que é a ideia de uma etapa oferecer a saída que serão utilizadas como entrada 
para aproxima etapa. 
 O desenvolvimento de um sistema através da técnica, linguagens e modelos de 
programação e software, é um procedimento imprescindível para um resultado 
satisfatório tanto para o cliente como para o desenvolvedor 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25 
 
REFERENCIAS 
 
ENGENHARIA- Pesquisa, Engenharia de Software, 
http://engenhariadesoftware.blogspot.com/2007/02/o-que-engenharia-de-software.html 
ENGENHARIA- Pesquisa, Modelos de Softwares, 
http://engenhariadesoftwareuesb.blogspot.com/2012/12/fffrrrrr.html 
ENGENHARIA- Pesquisa, Modelos de Softwares, 
http://engenhariadesoftwareuesb.blogspot.com/2012/12/processo-de-software.html 
ENGENHARIA- Pesquisa, Modelos de Softwares, 
http://engenhariadesoftwareuesb.blogspot.com/2012/12/blog-post.html 
ENGENHARIA- Pesquisa, Modelos de Softwares, 
https://www.unicesumar.edu.br/blog/o-que-e-engenharia-de-software/ 
ENGENHARIA- Pesquisa, Modelos de Softwares, 
https://www.conhecimentogeral.inf.br/uml/ 
INFO ESCOLA- Pesquisa , Historia da Programação, 
https://www.infoescola.com/informatica/historia-da-programacao/ 
INFO ESCOLA- Pesquisa , Avanço tecnoclógico, 
https://www.portaleducacao.com.br/conteudo/artigos/educacao/avanco-tecnologico-dos-
meios-de-comunicacao-e-mudancas-inseridas-nas-sociedades/44031 
INFO ESCOLA- Pesquisa , UML, 
https://www.conhecimentogeral.inf.br/uml/