Buscar

aula07

Prévia do material em texto

7ºAula
PROJETO E IMPLEMENTAÇÃO DE 
SOFTWARE
Objetivos de aprendizagem
Ao término desta aula, vocês serão capazes de: 
• entender conceitos de projeto e implementação de software;
• conhecer o funcionamento das linguagens de programação.
Olá pessoal, tudo bem?
Chegamos a nossa sétima aula da disciplina Introdução 
à Engenharia de Software. Nesta aula, vamos aprender como 
funciona o Projeto e a Implementação de um Software. É nesta 
etapa que veremos como o software será codificado e ganhará 
vida. Esta aula tem como intuito - não somente resumir 
matérias futuras -, apresentar conteúdos exclusivos como o 
funcionamento das linguagens de programação.
Sempre estaremos a sua disposição, através do quadro de 
avisos ou da ferramenta fórum, caso você tenha alguma dúvida. 
Bons estudos!
109
Introdução a Engenharia de Software 46
Seções de estudo
1 - Projeto e implementação
2 - Linguagens de programação
1 - Projeto e implementação
Quando falamos sobre o estágio de projeto e implementação 
do desenvolvimento de software, referimo-nos ao processo em 
que possa ser executado. Para tanto, as etapas de projeto e 
na etapa da engenharia do sistema, dos requisitos estabelecidos 
e dos modelos gerados na etapa de projeto, para que o sistema 
anteriormente:
 
As atividades de projeto e implementação de 
software são invariavelmente intercaladas. O 
projeto de software é uma atividade criativa em 
e seus relacionamentos com base nos requisitos 
do cliente. A implementação é o processo de 
concretização do projeto como um programa. 
Às vezes, existe um estágio de projeto separado 
e esse projeto é modelado e documentado. Em 
programador ou esboçado em um quadro ou 
em papel. Um projeto trata de como resolver um 
problema, por isso, sempre existe um processo 
de projeto. No entanto, nem sempre é necessário 
ou apropriado descrever o projeto em detalhes 
usando a UML ou outra linguagem de descrição 
(SOMMERVILLE, 2011, p. 25).
 
No início do projeto de software, uma das primeiras 
decisões que são tomadas é se o software será comprado 
ou construído. Aliás, comprar sistemas de prateleira é uma 
possibilidade atual. Assim, tais sistemas podem ser adaptados 
e adequados aos requisitos dos usuários. Nessa perspectiva, 
quando se está, por exemplo, implementando um sistema de 
prontuário médico, é possível adquirir um pacote já elaborado e 
utilizado em hospitais. Com isso, o desenvolvimento de sistema 
pode ser barateado e entregue ao cliente mais rápido. Vejamos: 
Quando você desenvolve uma aplicação dessa 
forma, o processo de projeto preocupa-se 
desse sistema para cumprir os requisitos do 
sistema. Usualmente, você não desenvolve 
modelos de projeto do sistema, como modelos 
de objetos do sistema e suas interações 
(SOMMERVILLE, 2013, p. 25).
Mas, o que são os programas de computador e como são 
feitos? Vamos ver sobre eles a seguir.
2 - Linguagens de programação
Agora, vamos explicar como funcionam as linguagens de 
programação. Para entender isso, vamos fazer uma analogia a 
você: Linguagem de Programação é similar a uma Linguagem 
Humana. 
Em uma linguagem humana, precisamos saber de todas 
as palavras necessárias para nos comunicarmos com outra 
pessoa. Se precisarmos falar com uma pessoa que saiba de outra 
linguagem, como por exemplo, o Inglês, precisamos aprender a 
linguagem do outro para que os dois interlocutores participem 
da conversa.
Em uma linguagem humana, todo elemento tem o seu 
significado. Por exemplo, quando falamos a palavra cadeira, 
sabemos que estamos nos referindo a uma cadeira. Também 
sabemos que, quando usamos um sinal de pontuação, como 
ponto de exclamação, ou ponto de interrogação, estamos 
indicando ao interlocutor qual é o sentido da nossa fala. Ou 
seja, estamos direcionando para o interlocutor se estamos 
informando, exclamando ou perguntando.
Da mesma forma que usamos linguagens humanas para nos 
comunicar com pessoas, usamos as linguagens de programação 
para nos comunicar com os computadores, explicitando as 
ordens a serem seguidas.
Você deve estar se perguntando: Ordens? Isso mesmo. 
Você deve estar lembrado quando estávamos falando sobre 
o hardware na aula 02. Cada componente do hardware tem 
funções bem-definidas, mas ele não serve sozinho. Ele precisa 
de alguma instrução para fazer a sua execução. É para isso que 
precisamos das linguagens de programação. Para expressar as 
instruções que serão executadas em um computador.
Muitos autores fazem a analogia entre as Linguagens de 
Programação com as Receitas Culinárias. As receitas culinárias 
expressam tudo que é necessário (seja ingredientes ou ações) 
para que uma receita seja executada, visando o objetivo de fazer 
um alimento saboroso e prazeroso.
É assim que funcionam as linguagens de programação. 
Fornecem estruturas para que sejam criados programas de 
computador que atendam os objetivos dos usuários do sistema.
 
Figura 1 - Ilustração de uma receita de bolo.
Fonte: JUNG, Milton. Receita 8 Bolo de frutas. Flickr, 2012. Disponível em: < https://
www. ickr.com/photos/cbnsp/8264558258/in/photostream/ >. Acesso em: 28 nov. 
2018.
110
47
Assim, podemos definir as linguagens de 
programação como: “padrões de codificação 
binária, com sintaxe e semânticas específicas. Desta 
forma, capazes de criar instruções para máquinas” 
(DORNELLES, 2016).
Código Binário X Linguagens de Programação
Inicialmente, os computadores foram criados para realizar cálculos 
matemáticos de forma muito mais rápida do que os seres humanos 
são capazes. Para que isso fosse possível, era necessário que as 
devidas instruções matemáticas fossem repassadas às máquinas. 
Nesse momento, surgiram as linguagens de programação.
Em outras palavras, para que uma instrução seja “entendida” pelo 
computador é necessário que sejam escritas em linguagem de 
Isso quer dizer que para aprender a programar, preciso aprender 
tranquilizar, a resposta é NÃO!
Programar diretamente em linguagem de máquina é sim possível, 
porém, é um processo lento e difícil, praticamente inviável nos dias 
de hoje devido a complexidade dos sistemas modernos. Sendo 
as linguagens de programação. Estas são próximas as linguagens 
humanas e, portanto, mais fáceis de serem lidas e compreendidas.
Fonte: DORNELLES, 2016.
As linguagens de programação de alto nível contêm 
algumas estruturas que são utilizadas para alcançar o seu 
objetivo. Vamos ver agora:
• Variáveis: São estruturas que armazenam um dado de 
um determinado tipo para o uso no programa.
• Comentários: São estruturas que deixam o código 
mais legível, para o programador que está escrevendo 
o programa e para futuros programadores que 
venham a fazer modificações no programa, para 
adicionar uma nova funcionalidade ou consertar 
alguma funcionalidade já existente.
• Estruturas de Decisão e Repetição: São estruturas que 
permitem a escolha ou a repetição de um ou mais 
comandos, de acordo com a situação do programa.
As linguagens de programação são divididas em duas: As 
compiladas e as interpretadas. Vejamos sobre elas a seguir:
Linguagens Compiladas X Interpretadas, por Henrique Bastos
Na computação, a compilação é o processo que reúne o código fonte 
e o transforma em algo que faça mais sentido para o computador. 
Do ponto de vista do código fonte, toda linguagem de programação 
é compilada.
estaticamente, e seus códigos fontes são transformados diretamente 
em linguagem de máquina. Enquanto as linguagens mais modernas 
que será interpretada pela máquina virtual da linguagem quando o 
programa for executado.
Este processo de interpretação da linguagem intermediária durante 
a execução do programa, consiste na tradução dos comandos da 
linguagem intermediária para linguagem de máquina. Sendo assim, 
em tempo de execução, o código intermediário pode ser encarado 
como um “código fonte” que será compilado dinamicamente pelo 
interpretador da linguagem em código de máquina.
Obviamente, ter este processo de compilação embutido na execução 
do programa tem um custo. Eesse custo não é barato! Por isso, 
nos últimos anos muito foi investido para otimizar este processo, 
of Time Compiling que permitem as linguagens interpretadas 
alcançarem performance excepcionais.
Fonte: BASTOS, 2010.
Há também outras formas de classificar as linguagens de 
programação. Veremos sobre elas no próximo quadro.
Tipos de Linguagens de Programação
Paradigma de programação
para resolver um problema computacional. Linguagens podem 
ser escolhido conforme o problema a ser resolvido. Abaixo, os dois 
principais paradigmas de programação.
• Paradigma Procedural ou Imperativo: Conceito de programação 
o computador executar. O nome do paradigma, Imperativo, 
está ligado ao tempo verbal, onde repassamos “ordens” ao 
computador: faça isso, depois isso e depois aquilo.
• Paradigma Orientado a Objetos: Paradigma mais popular 
atualmente, trata-se de um conceito de programação baseado 
no uso de componentes individuais. Estes são chamados 
objetos e fazem parte da composição do software.
Tentamos resumir. Contudo, paradigmas de programação merecem 
seguinte resumo para tratar esse assunto com mais detalhes.
Alto ou baixo nível
Existem aquelas em que a sintaxe se aproxima a uma linguagem 
humana, por isso entram na categoria das linguagens de alto nível.
Por outro lado, existem as linguagens que possuem sintaxe e 
como linguagens de baixo nível. 
Fonte: DORNELLES, 2016.
E com isso, encerramos a nossa explicação inicial a 
respeito das linguagens de programação. Não se preocupe, 
falaremos muito mais a respeito delas durante o curso, nas 
disciplinas de Algoritmos e Programação. Na próxima aula, 
veremos como funciona o gerenciamento de projetos. Até lá!
111
Introdução a Engenharia de Software 48
Retomando a aula
Na primeira seção, estudamos o projeto e implementação. 
Quando falamos sobre o estágio de projeto e implementação 
do desenvolvimento de software, referimo-nos ao processo 
em que se converte uma especificação de sistema em um 
sistema que possa ser executado. Para tanto, as etapas de 
projeto e implementação envolvem a formalização das ideias 
verificadas na etapa da engenharia do sistema, dos requisitos 
estabelecidos e dos modelos gerados na etapa de projeto, para 
que o sistema computacional alvo possa realizar as tarefas 
definidas anteriormente.
 Nessa seção, definimos as linguagens de 
programação como: “padrões de codificação binária, com 
sintaxe e semânticas específicas. Desta forma, capazes de 
criar instruções para máquinas”. Vimos também aqui alguns 
outros aspectos correlacionados.
ENGHOLM JR., Hélio. Engenharia de software na prática. 
São Paulo: Novatec, 2015.
PAULA FILHO, Wilson de Pádua. Engenharia de 
software: fundamentos, métodos e padrões. 3. ed. Rio de 
Janeiro: LTC, 2012.
PEDRYCZ, Witold; PETERS, James F.; GARCIA, 
Ana Patrícia Machado de Pinho. Engenharia de software: teoria 
e prática. Rio de Janeiro: Campus, 2001.
PRESSMAN, Roger S.; FECCHIO, Mário Moro; 
GRIESI, Ariovaldo. et al. Engenharia de software: uma 
abordagem profissional. 8. ed. São Paulo: McGraw-Hill; 
Porto Alegre: Bookman; Santana: AMGH Editora, 2016.
SOMMERVILLE, Ian. Engenharia de software. 9. ed. São 
Paulo: Pearson Addison Wesley, 2011.
Vale a pena ler
Vale a pena
ANDRADE, Gabriel. O que são Linguagens de 
Programação. InfoEscola, s.d. Disponível em: <https://
www.infoescola.com/informatica/o-que-sao-linguagens-
de-programacao/>. Acesso em: 27 nov. 2018.
BASTOS, Henrique. Diferenças entre linguagem 
compilada e linguagem interpretada. Oficina da Net, 2010. 
Disponível em: <https://www.oficinadanet.com.br/artigo/
programacao/diferencas_entre_linguagem_compilada_e_
linguagem_interpretada>. Acesso em: 27 nov. 2018.
DORNELLES, Nemora. As 15 principais linguagens 
de programação do mundo!. Becode, 2016. Disponível 
em: <https://becode.com.br/principais-linguagens-de-
programacao/>. Acesso em: 27 nov. 2018.
Vale a pena acessar
Minhas anotações
112

Continue navegando