Baixe o app para aproveitar ainda mais
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
Compartilhar