Buscar

E-book 3 - Paradígmas de Linguagens de Programação

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 68 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 68 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 68 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

PARADIGMAS DE 
LINGUAGENS DE 
PROGRAMAÇÃO
E-book 3
Bruno Zolotareff dos Santos
Neste E-Book:
INTRODUÇÃO ����������������������������������������������4
ENGENHARIA DE SOFTWARE 
DISTRIBUÍDO ����������������������������������������������� 5
REMOTE METHOD INVOCATION ����������10
SERVIDOR WEB �����������������������������������������13
ENTENDENDO A ARQUITETURA DO 
TOMCAT ��������������������������������������������������������15
ENGENHARIA DE SOFTWARE 
ORIENTADO A SERVIÇOS �����������������������17
WEB SERVICES ������������������������������������������18
ENGENHARIA DE SOFTWARE: 
DESENVOLVIMENTO 
PROFISSIONAL E ÉTICA ������������������������� 22
PROFISSIONAL DE ENGENHARIA 
DE SOFTWARE ������������������������������������������ 25
PRINCIPAIS ÁREAS DA 
ENGENHARIA DE SOFTWARE: 
GERENCIAMENTO DE 
CONFIGURAÇÃO DE SOFTWARE ��������28
FERRAMENTAS E MÉTODOS ����������������29
Projeto e desenho (Design): ��������������������������������� 30
2
QUALIDADE DE SOFTWARE ������������������31
TESTE DE SOFTWARE ���������������������������� 33
NORMAS ISO COM FOCO NA 
QUALIDADE DE SOFTWARE ����������������� 35
NBR ISO/IEC 9126-1 QUALIDADE DO 
PRODUTO DE SOFTWARE ���������������������37
NBR ISO/IEC 15504 PROCESSOS 
DE SOFTWARE EM NÍVEIS DE 
MATURIDADE - QUALIDADE �����������������41
ÉTICA NA ENGENHARIA DE 
SOFTWARE �������������������������������������������������46
NBR/ISO 20000 GESTÃO 
DE SERVIÇOS NA ÁREA DE 
TECNOLOGIA DA INFORMAÇÃO ���������49
METODOLOGIAS TRADICIONAIS DE 
DESENVOLVIMENTO DE SOFTWARE �51
MODELO CASCATA ���������������������������������� 52
MODELO INCREMENTAL ������������������������54
METODOLOGIA EM PROTOTIPAÇÃO �55
RAPID APPLICATION 
DEVELOPMENT �����������������������������������������57
MODELO ESPIRAL ������������������������������������59
CONSIDERAÇÕES FINAIS ����������������������61
SÍNTESE �������������������������������������������������������62
3
INTRODUÇÃO
Os sistemas distribuídos são utilizados praticamente 
em todos os lugares, de aparelhos celulares a televi-
sores� Utilizam a arquitetura cliente-servidor, em que 
se fornece o serviço em uma rede de computadores, 
em geral via web�
Neste módulo, entenderemos os princípios do uso 
dos sistemas distribuídos, assim como estabelece-
remos uma breve relação da profissão do engenhei-
ro de software e a ética envolvida na função� Além 
disso, estudaremos como a engenharia de softwa-
re está ligada ao processo de desenvolvimento e 
conheceremos alguns dos modelos utilizados no 
desenvolvimento�
4
ENGENHARIA DE 
SOFTWARE DISTRIBUÍDO
Quando ouvimos falar de sistemas distribuídos, 
muitos não imaginam o conceito por trás desse 
nome ou quanto de engenharia há nessa arqui-
tetura� Para se ter um breve entendimento sobre 
o assunto, a definição mais simples seria: é um 
software que não funciona apenas em uma máqui-
na local, o sistema funciona em uma arquitetura 
cliente-servidor�
Por arquitetura cliente-servidor, entende-se que 
um computador que possui um software instalado 
pode disponibilizar acesso aos seus recursos em 
uma rede de computadores, contendo um ou mais 
dispositivos�
Bem, se você pensou em uma disciplina que en-
volva redes de computadores, acertou� A comu-
nicação dos sistemas distribuídos funciona em 
uma rede de computadores que trocam informa-
ções utilizando diversos protocolos da Web� Para 
aqueles que estão acostumados com sistemas 
desenvolvidos para desktop, tanto o acesso ao 
servidor quanto a disponibilidade dos serviços são 
feitos por recursos conhecidos como sockets, isso 
mesmo, você pode utilizar socket server ou socket 
cliente�
Segundo a Oracle, a definição de socket é um ponto 
de comunicação entre duas máquinas� Portanto, 
para que ocorra essa comunicação, há um servidor 
e um cliente, processo que acontece através de 
uma conexão realizada pelo socket�
5
O socket não pertence à tecnologia da Oracle, que 
é o Java� Muita calma nesta hora, pois a progra-
mação por sockets pode ser feita por qualquer 
linguagem que suporta esse tipo de arquitetura, 
tais quais C/C++, C#, Java, Visual Basic e Python�
Embora seja um tipo de programação complexo, 
não é o único meio de fazer esse tipo de comu-
nicação, assim, há outros meios, como utilizar o 
Remote Method Invocation (RMI)� Para uma sim-
ples aplicação, entretanto, o uso de socket pode 
ser mais indicado por ser simples�
Na Tabela 1, para efeito de estudo, temos duas 
classes em Java utilizando socket server e socket 
cliente� Observe que, no código a seguir, se con-
figura a porta em que se espera a comunicação 
classe server (Tabela 1) e classe cliente (Tabela 2):
6
Socket Server em Java
public class SocketServerExample {
 
 private static ServerSocket server;
 //socket server port em que vai ouvir
 private static int port = 9876;
 
 public static void main(String args[]) throws IOException, 
ClassNotFoundException{
 // criar o objeto do servidor de soquete
 server = new ServerSocket(port);
 
 while(true){
 System�out�println("Waiting for the client request");
 // criando soquete e aguardando conexão do cliente
 Socket socket = server�accept();
 // leia a partir do soquete para ObjectInputStream object
 ObjectInputStream ois = new ObjectInputStream(socket�
getInputStream());
 //converte ObjectInputStream object to String
 String message = (String) ois�readObject();
 System�out�println("Message Received: " + message);
 //cria objeto ObjectOutputStream 
 ObjectOutputStream oos = new ObjectOutputStream(socket�
getOutputStream());
 // escrever objeto no soquete
 oos�writeObject("Hi Client "+message);
 // fechar recursos 
 ois�close();
 oos�close();
 socket�close();
 // encerrar o servidor se o cliente enviar uma solicitação de saída
 if(message�equalsIgnoreCase("exit")) break;
 }
 System�out�println("Desligando Socket server!!");
 //fecha o objeto ServerSocket 
 server�close();
 } }
Tabela 1: Socket server em Java. Fonte: Elaborada pelo autor (2019).
Na Tabela 2, pode-se observar o código que busca-
rá o endereço onde está a classe servidora:
7
Socket Client em Java
public class SocketServerExample {
 private static ServerSocket server;
 //socket server port em que vai ouvir
 private static int port = 9876;
 public static void main(String args[]) throws IOException, 
ClassNotFoundException{
 // criar o objeto do servidor de soquete
 server = new ServerSocket(port);
 while(true){
 System�out�println("Waiting for the client request");
 // criando soquete e aguardando conexão do cliente
 Socket socket = server�accept();
 // leia a partir do soquete para ObjectInputStream object
 ObjectInputStream ois = new ObjectInputStream(socket�
getInputStream());
 //converte ObjectInputStream object to String
 String message = (String) ois�readObject();
 System�out�println("Message Received: " + message);
 //cria objeto ObjectOutputStream 
 ObjectOutputStream oos = new ObjectOutputStream(socket�
getOutputStream());
 // escrever objeto no soquete
 oos�writeObject("Hi Client "+message);
 // fechar recursos 
 ois�close();
 oos�close();
 socket�close();
 // encerrar o servidor se o cliente enviar uma solicitação de saída
 if(message�equalsIgnoreCase("exit")) break;
 }
 System�out�println("Desligando Socket server!!");
 //fecha o objeto ServerSocket 
 server�close();
 } }
Tabela 2: Socket client em Java. Fonte: Elaborada pelo autor (2019).
8
Em ambas classes de sockets, temos um exemplo de 
comunicação entre a classe server e a classe cliente� 
A classe cliente disponibiliza um canal paracomu-
nicação com uma porta definida; a classe cliente 
busca o número da porta para acontecer a ligação 
das classes�
Esse foi um simples exemplo� Caso queira se apro-
fundar em sockets, isso será ótimo para a sua for-
mação, pois quanto mais conhecimento e prática 
tiver melhor será sua experiência com programação 
distribuída� Para isso, você pode consultar e estudar 
as especificações, os exemplos e as explicações com 
mais detalhes no site da Oracle ou da Microsoft� O 
importante é conhecer esse tipo de arquitetura�
SAIBA MAIS
Saiba mais sobre a comunicação de sockets por 
meio dos seguintes endereços:
Java Sockets: https://docs.oracle.com/javase/tutorial/
networking/sockets/. 
C#: https://docs.microsoft.com/pt-br/dotnet/api/system.net.so-
ckets.socket?view=netframework-4.8/. 
9
https://docs.oracle.com/javase/tutorial/networking/sockets/
https://docs.oracle.com/javase/tutorial/networking/sockets/
https://docs.microsoft.com/pt-br/dotnet/api/system.net.sockets.socket?view=netframework-4.8/
https://docs.microsoft.com/pt-br/dotnet/api/system.net.sockets.socket?view=netframework-4.8/
REMOTE METHOD 
INVOCATION
O Remote Method Invocation (RMI) é uma tecnolo-
gia suportada pelo Java e utilizada em aplicações 
distribuídas, que normalmente apresentam muitas 
falhas pelo fato de se envolverem plataformas di-
ferentes, como Unix, Linux e Windows� O RMI evita 
muito desses problemas comparados com outras 
soluções, como a que estudamos de sockets�
A arquitetura de RMI possui um conjunto de inter-
faces de uso comum na programação orientada a 
objetos� O RMI permite que o cliente adquira uma 
interface em Java, para que todo o processo ocorra 
em um Java Virtual Machine (JVM), assegurando a 
comunicação recorrente de protocolos como TCP/
IP (SARMENTO, 2003)�
O RMI utiliza a arquitetura cliente-servidor que, em 
seu processo de alto nível, disponibiliza as interfaces 
em Java, evitando com isso a maioria dos problemas 
de compatibilidade de plataformas por funcionar tudo 
na JVM. Pode-se verificar o processo na Figura 1:
10
Cliente Servidor
INTERFACE
Proxy
INTERFACE
Impl.
RMI
JVM 1 JVM 2
RMI
Figura 1: Remote Method Invocation. Fonte: Sarmento (2003).
Para entender melhor, vamos verificar as três cama-
das do RMI que o programador deve conhecer, as 
quais são correspondentes ao processo de comu-
nicação utilizando TCP/IP:
 ● Camada Stubs e Skeleton: utilizados na aplicação 
do cliente, os Stubs funcionam como classes tem-
porárias de Proxies de modo remoto, que recebe 
os parâmetros dos métodos disponibilizados pelo 
objeto remoto, que envia para o servidor que será 
interpretado por uma classe Skeleton, a qual exe-
cuta as chamadas do objeto remoto e pode receber 
os valores dos métodos remotos e reenviar para os 
Stubs dos clientes�
 ● Camada de Referências Remotas: processo em 
que o RMI funciona como uma ligação unicast, na 
qual cada Stub possui seu Skeleton para comuni-
cação� Não é suportado pelo multcast, em que um 
proxy poderia requisitar várias instâncias de objetos 
remotos�
11
 ● Camada de transporte: camada que se refere à 
comunicação entre várias JVM, utilizando TCP/IP 
que gera uma pilha onde o RMI utiliza um protoco-
lo conhecido como Java Remote Method Protocol 
(JRMP), que ajuda nas ligações múltiplas do TCP/IP�
12
SERVIDOR WEB
Considera-se a tecnologia web de grande importân-
cia por utilizar protocolos de rede como Hypertext 
Transfer Protocol (HTTP), dentre outros� O funcio-
namento de aplicações web cresce com o uso de 
dispositivos móveis, como tabletes e smartphones 
com acesso à Internet�
As aplicações Web utilizam a arquitetura cliente-
-servidor que engloba um conjunto de tecnologias 
desenvolvidas sob padrões definidos por institui-
ções como o Instituto de Engenheiros Eletricistas 
e Eletrônicos (IEEE)�
SAIBA MAIS
IEEE é a maior organização profissional dedica-
da ao avanço tecnológico e é responsável por 
diversos padrões� Saiba mais sobre ela consul-
tando: http://www.ieee.org.br/� 
Os servidores mais utilizados são Apache e Internet 
Information Services (IIS) (LINHARES; OGAWA; 
PIMENTEL; SOUZA, 2014)� Há diversos outros ser-
vidores Web com tecnologias diferentes� Para você 
entender o funcionamento do ciclo de vida de um 
Servlet, é preciso saber como funciona um Web 
13
http://www.ieee.org.br/
Container e, para tanto, estudaremos o servidor 
Web Apache TOMCAT, assim como explorar as 
suas funcionalidades�
A Apache Software Foundation (ASF) é a empresa 
responsável por manter o servidor TOMCAT; trata-
-se de uma organização sem fins lucrativos que 
disponibiliza gratuitamente no seu website oficial 
toda a documentação e os assuntos relevantes a 
essa tecnologia (TOMCAT, 2016)�
14
ENTENDENDO A 
ARQUITETURA DO 
TOMCAT
A arquitetura básica do Apache TOMCAT é o pro-
cessamento em seu container das especificações 
JavaServer Pages e Servlets e funciona com a versão 
do Java de acordo com a versão do TOMCAT�
Uma arquitetura Web baseia-se em uma aplicação 
cliente-servidor, na qual há requisições e respostas 
do servidor (request/response), conforme ilustrado 
na Figura 2:
HTTP (HTML)
RESPONSE 
(resposta)
REQUEST
(requisita)
HTTP
Servidor WebComputador
Figura 2: Processamento servidor TOMCAT. Fonte: Elaborado pelo 
autor (2019).
Podcast 1 
15
https://famonline.instructure.com/files/142265/download?download_frd=1
As páginas no browser do computador enviam ou 
requisitam informações que são processadas pelo re-
cipiente do servidor Web� Nesse processo, utilizam-se 
o Servlet, que é conhecido como um “servidorzinho”, 
e a página HTML ou JSP�
Os códigos dentro dessas páginas utilizam em sua 
ação os Servlets criados no projeto, posto que as 
páginas podem estar tanto em HTML quanto em JSP� 
Observe, entretanto, que páginas HTML não proces-
sam códigos em Java diretamente em sua página 
como scriptlets (códigos em Java), mas chamam o 
Servlets no escopo dos formulários�
SAIBA MAIS
A Apache é uma das maiores empresas com diver-
sos produtos para download e uso gratuito� Você 
pode baixar o servidor TOMCAT gratuitamente em: 
https://tomcat.apache.org/download-80.cgi� 
16
https://tomcat.apache.org/download-80.cgi
ENGENHARIA DE 
SOFTWARE ORIENTADO 
A SERVIÇOS
A engenharia de software orientado a serviço é 
uma tecnologia conhecida como Service-Oriented 
Architecture, mais comumente SOA� Trata-se de um 
estilo de arquitetura cliente-servidor baseado sobre-
tudo em Web Services que disponibilizam interfaces 
conhecidas como contratos na programação�
Nesse tipo de arquitetura, devemos entender que os 
serviços de software dependem de um baixo aco-
plamento de unidades de funcionalidades, uma vez 
que os serviços são consumidos como aplicações 
isoladas, podendo trocar informações entre duas 
unidades diferentes, ou seja, plataformas distintas�
Para o SOA, os serviços dependem de dados agre-
gados aos metadados� No processo de desenvol-
vimento, a linguagem mais utilizada é o XML, parte 
de outras tecnologias que a englobam� Por exemplo, 
o SOA utiliza Web Services Description Language 
(WSDL) para a descrição dos serviços SOAP, WADL 
e REST, que são outras tecnologias utilizadas na 
arquitetura� É preciso lembrar que todo processo se 
realiza por metadados que devem seguir um design 
específico para o sistema poder entender.
17
WEB SERVICES
O SOA utiliza Web Services para disponibilizar os 
recursos que serão consumidos por outro software 
na rede� Para entender melhor esse conceito, lembre-
-se de que alguns sites, nos quais preenchemos o 
campo do CEP e, em seguida, os campos de rua, 
bairro e cidade são preenchidos automaticamente�
Os dados preenchidos automaticamente pertencem 
a uma companhia externa que disponibiliza seu Web 
Service, ou seja, um canal de comunicação de sua 
base de dados� Empresas, como os Correios, por 
exemplo, escolhem apenas alguns serviços úteis para 
serem consumidos em forma de Web Service� Sendo 
assim, várias companhias podem disponibilizar seus 
serviços por meio dessa tecnologia�
Avantagem de recorrer aos Web Services é a utili-
zação de protocolos disponibilizados para o uso na 
Web, que funciona independentemente da plataforma 
de quem disponibiliza o serviço, podendo ser Linux, 
Windows ou FreeBSD�
Imagine três empresas com software distribuídos 
diferentes� Você precisa acessar os dados das três 
para construir sua base de dados� Para essa sua 
aplicação, algumas regras de negócio foram esta-
belecidas para entrar no padrão dessa aplicação� 
Tenha em mente que o acesso é disponibilizado por 
Web Service, como na Figura 3�
18
Base de 
dados
Incluir Cliente
(Web Services)
Software 1
(Empresa 1)
Software 2
(Empresa 2)
Software 3
(Empresa 3)
Regras de 
negócio
Barramento de serviços
Figura 3: Web Service. Fonte: Guedes (2017).
O SOA funciona com base no Web Service, mas ob-
serve que há regras envolvidas, além da segurança 
dos dados e interoperabilidade� O uso apenas do 
Web Service não quer dizer que se está utilizando 
uma arquitetura SOA� A composição do Web Service 
pode ser feita com ferramentas que implementam 
Business Process Execution Language (BPEL), 
Business Process Management Notation (BPMN), 
porém, é possível utilizar outras tecnologias�
Lembrando que se identifica o serviço por uma 
Uniform Resource Identifier (URI) e a comunicação 
entre os Web Services é realizada via protocolos, 
como o Simple Object Access Protocol (SOAP)�
19
A comunicação do SOAP, WSDL, REST, entre outros, 
é realizada com a linguagem XML, tanto para o pres-
tador de serviço quanto para o consumidor que so-
licita� O SOA é baseado na ideia de composição de 
serviços, sendo que a aplicação de negócio envolve 
uma empresa parceira, devendo ser considerada a 
reutilização de um provedor externo�
A composição de serviços é utilizada para a inte-
gração dos processos de negócios distintos com 
objetivo de oferecer um processo integrado com 
funcionalidades externas cujo nível de complexibi-
lidade é alto� Assim, o processo de construção de 
uma aplicação (serviço composto) envolve:
 ● Workflow.
 ● Novos serviços�
 ● Seleção de serviços�
 ● Refatoração do workflow.
 ● Programação de workflow.
 ● Testes dos serviços�
Para entendermos melhor o processo de composi-
ção, vamos observar a Figura 4, na qual a comuni-
cação é gerenciada por um sistema de coordenação 
central que, na requisição, recebe e responde para 
invocar o Web Service recorrente�
20
Orquestração
Receber
invocar
invocar
invocar
Responder
Coordenador 
Central
Requerente 
do Serviço
Web 
Service
Web 
Service
Web 
Service
Figura 4: Orquestração. Fonte: Adaptada de Masiero (s. d.).
21
ENGENHARIA 
DE SOFTWARE: 
DESENVOLVIMENTO 
PROFISSIONAL E ÉTICA
A Engenharia de Software é uma área do conheci-
mento que nasceu em decorrência das dificuldades 
nos processos envolvidos� Com o decorrer do tempo, 
as metodologias, normas, técnicas e boas práticas de 
projetos foram adotadas por empresas e instituições 
governamentais como meio de garantir a qualidade�
A Engenharia de Software engloba muitas coisas, 
no entanto, a maioria dos modelos visa ao melhora-
mento contínuo baseado no Plan, Do, Control e Act 
(PDCA)� Um dos principais pontos é a qualidade do 
software, a qual envolve fatores em conformidade 
com o projeto�
A produção de software pode ou não recorrer à 
engenharia de modo a melhorar o processo e ter 
qualidade� Algumas empresas preferem apenas pro-
duzir sem pensar muito na qualidade; dessa forma, 
no decorrer do projeto, os erros são arrumados por 
demanda, sendo um risco muito alto para o projeto 
nem mesmo chegar ao fim.
Um dos modelos mais utilizados na Engenharia de 
Software é o Capability Maturity Model Integration 
(CMMI), com cinco níveis de maturidade que a empre-
sa deve seguir para apresentar a qualidade esperada 
22
no processo de desenvolvimento, isto é, garantia 
antes e depois da entrega�
Empresas que utilizam o CMMI têm uma credibili-
dade melhor no mercado, elevando seus produtos a 
outro nível, ou seja, com uma qualidade assegurada 
aos seus clientes� Isso porque o CMMI é um modelo 
norte-americano e, para concorrer com esse modelo, 
os europeus desenvolveram a ISO/IEC 15504, que é 
bastante semelhante ao CMMI�
No entanto, esses modelos não são muito aplica-
dos no Brasil, deixando pouca credibilidade para as 
empresas� O custo inicial é considerado alto, porém, 
no final, o software sai com menos defeitos e com o 
custo dentro do planejado�
No Brasil, há ISO/IEC 9000-3 que é referente à qua-
lidade de software, mas é pouco usada também� 
Um modelo puramente brasileiro foi construído par 
atender às realidades do mercado� Esse modelo é o 
MPS�BR, baseado principalmente no CMMI�
As normas envolvem especialmente testes de sof-
tware, que se relacionam com a qualidade do softwa-
re, que é uma das áreas da Engenharia de Software� 
Assim, as metodologias são aplicadas junto com 
outras para se chegar à qualidade no processo de 
desenvolvimento�
Em um projeto de software, envolvem-se bastante 
técnicas, modelos e normas, dentre os quais pode-
mos citar PMBOK, BABOK, CMMI, ISO/IEC 9126, ISO/
IEC 12207, ISO/IEC 15504, ITIL e COBIT�
23
Há mais metodologias e modelos, tendo em vista que 
todos servem para auxiliar no processo de software� 
Perceba que não estamos falando de código, mas 
sim de conhecimento necessário para elaborar um 
projeto com os requisitos� É precisamente nesse pon-
to que um profissional conhecido como engenheiro 
de software entra�
24
PROFISSIONAL DE 
ENGENHARIA DE 
SOFTWARE
O mercado está passando por grandes mudanças, 
e o profissional de engenharia de software tem se 
adaptado a ele� Para algumas empresas, um pro-
fissional que atua com ferramentas de testes, ou 
desenvolvimento de software, já é considerado um 
engenheiro de software�
REFLITA:
Qual é a diferença entre um analista de sistema, 
um desenvolvedor e um engenheiro de software?
Deve-se entender que o nome é Engenharia, que 
não é a mesma coisa que o programador ou testa-
dor� Portanto, o conceito muitas vezes é distorcido� 
Vamos fazer uma comparação na área de engenha-
ria� Na construção civil, há um engenheiro civil, que 
estudou e sabe os cálculos corretos para projetar 
uma ponte ou sustentar um prédio; o pedreiro pode 
não saber, mesmo que seja o melhor� Em outras 
palavras, não se exige do pedreiro o conhecimento 
para tal obra� Agora imagine esse pedreiro sendo 
registrado como engenheiro civil só porque faz parte 
do processo�
25
O profissional de engenharia de software resolve 
problemas e conserta processos porque tem mui-
ta experiência em diversas áreas do conhecimento 
dentro da área da computação�
Na Alemanha, por exemplo, um profissional de 
engenharia de software iniciante tem experiência 
acima de seis anos, com certificações de arquite-
to nas principais tecnologias, como arquiteto Java 
e Microsoft, Banco de Dados, CISCO, PMBOK, ITIL, 
PRINCE2, COBIT, BPEL, BPMN, dentro outros�
Esses profissionais de alto nível são capazes de 
projetar novos produtos ou solucionar problemas 
em pouco tempo. Não são pagos para ficarem sen-
tados programando ou testando, apesar de já terem 
feitos isso por alguns anos, por isso, são bons no 
que fazem�
A cultura do Brasil em relação à engenharia de sof-
tware é um pouco deferente, pois se considera ape-
nas a programação� Você pode encontrar cursos 
superiores com esse nome: engenharia de software, 
que na verdade é praticamente uma grade toda de 
um curso de ciência da computação�
O questionamento que fica é: como ser um enge-
nheiro de software de alto nível? Simples� Com muita 
experiência em diversas áreas e certificações para 
comprovar que você realmente sabe o que está 
fazendo�
Na Alemanha, um salário de engenheiro de softwa-
re por ano pode chegar de R$150 mil a R$ 236 mil� 
26
Calma, não se anime tanto, isso é para um profissio-
nal com mais de dez anos de experiência no mercado 
e várias certificações (GALDINO, 2016).
No Brasil, um profissional de engenharia de software 
tem um salário quevaria de R$ 7 mil a R$ 15 mil por 
mês� Normalmente, exerce algumas atividades da 
área da engenharia e, sobretudo, testes e desenvol-
vimento (SALARIO, 2019)�
27
PRINCIPAIS ÁREAS DA 
ENGENHARIA DE SOFTWARE: 
GERENCIAMENTO DE 
CONFIGURAÇÃO DE 
SOFTWARE
Para a produção de software, é preciso ter um maior 
controle no processo de desenvolvimento, pois a 
complexibilidade dos projetos apresenta diversos 
requisitos que podem gerar inconsistências� Assim, 
a área de software, por envolver projetos com altos 
custos e aplicações, tem uma grande importância, 
tal qual na área militar ou de saúde, em que foram 
desenvolvidas normas para que os padrões fossem 
seguidos�
O ato de seguir essas normas nos projetos é conheci-
do como gerência de configuração de software e visa 
a garantir tanto a integridade quanto a consistência 
dos itens e controles dos requisitos (PRESSMAN; 
MAXIM, 2016)�
28
FERRAMENTAS E 
MÉTODOS
Pode-se descrever o processo de software como um 
conjunto de atividades, práticas, métodos e normas 
que servem como um guia em projetos de produção 
de software� O desenvolvimento de software implica 
muitos processos que são divididos em tarefas e 
subtarefas que permitem um melhor gerenciamento 
dos itens e da qualidade de software�
Metodologias e modelos de desenvolvimento são 
aplicados com o auxílio de ferramentas de processos 
de negócio� Algumas dessas ferramentas são conhe-
cidas como Computer-Aided Software Engineering 
(Case), ou Engenharia de Software Assistida por 
Computador� Essas ferramentas ajudam no desenvol-
vimento de software e, principalmente, na abstração 
dos processos de negócios�
Algumas ferramentas Case utilizadas na engenha-
ria de software são Business Process Execution 
Language (BPEL), ou Linguagem de Execução de 
Processos de Negócios e Business Process Model 
(BPM), ou Modelo de processo de negócios� São 
ferramentas utilizadas na elaboração e execução de 
processos de negócios de software�
O BPEL, por exemplo, é atribuído diretamente à auto-
matização e execução dos processos de negócios� 
Já o BPM implica uma abrangência maior na sua 
29
aplicação, que estuda como a tecnologia pode apoiar 
a análise, a execução e o controle dos processos de 
negócio no geral (SGANDERLA, 2013)�
Projeto e desenho (Design):
 ● Aplica-se a projetos de pesquisa sobre o desen-
volvimento de um produto e envolve planejamento, 
metodologia, cronograma e recursos�
 ● Desenho é uma tradução utilizada no sentido de 
Desenho Industrial (industrial design), conhecido 
como a elaboração de diagramas que descrevem 
os modelos do produto�
 ● Os tipos são: Design do modelo conceitual; Design 
da interface de usuário; Design da arquitetura de sof-
tware; e Design dos algoritmos e estruturas de dados�
30
QUALIDADE DE 
SOFTWARE
A qualidade de software é uma área de conhecimento 
da engenharia de software que tem como objetivo 
garantir a qualidade� O software possui muitos fa-
tores que o desenvolvimento deve considerar para 
assegurar a qualidade de acordo com os requisitos�
A qualidade do software é estabelecida nos acor-
dos e contratos de projetos, estando ligada à ética 
profissional das empresas, que muitas vezes têm 
certa reputação no mercado e reconhecimento in-
ternacional. A fim de que a qualidade de software 
seja estabelecida, as instituições utilizam métodos e 
modelos nos processos de desenvolvimento, dentre 
os quais se destacam:
Podcast 2 
 ● CMM – Capability Maturity Model é método de 
avaliação com 5 níveis de maturidade que indica 
diretrizes para melhoria�
 ● PSP – Personal Software Process são processos 
pessoais utilizados pelos desenvolvedores que tra-
balham verificando a qualidade dos módulos sob 
sua responsabilidade�
 ● ISO/IEC 15504 – Trata-se de um framework cujo 
foco são o planejamento, o gerenciamento, o moni-
toramento, o controle de aquisição, o fornecimen-
31
https://famonline.instructure.com/files/142266/download?download_frd=1
to, o desenvolvimento, a operação e o suporte de 
software�
 ● RUP – Rational Unified Process foi desenvolvido 
pela IBM e consistem em um Processo de engenharia 
de software que utiliza como base caso de usos em 
seus processos�
 ● Série ISO/IEC 14598 – Normas que estabelecem 
a qualidade do produto, com foco no processo de 
desenvolvedores�
32
TESTE DE SOFTWARE 
Os testes de software fazem parte do processo de 
qualidade e têm como principal objetivo revelar os 
problemas e as falhas nos projetos de software� Na 
Tabela 3, temos alguns dos testes mais conhecidos 
e sua respectiva descrição:
Tipo Descrição
Teste de unidade Testa um nível de componente ou 
classe, seu objetivo é um “pedaço do 
código”�
Teste de 
Integração
Garante que um ou mais componentes 
combinados (ou unidades) funcionam�
Teste 
Operacional
Garante que a aplicação pode rodar 
muito tempo sem falhar�
Teste
Positivo-negativo
Garante que a aplicação vai funcionar 
no “caminho feliz” de sua execução e 
no seu fluxo de exceção.
Teste de 
Regressão
Testa toda a aplicação novamente 
todas as vezes que algo for mudado�
Teste de
Caixa-preta
Testa todas as entradas e saídas 
desejadas� Não está preocupado com 
o código, pois cada saída indesejada é 
tida como um erro�
Teste
Caixa-branca
Tem por objetivo testar o código 
ou partes do código que não foram 
testadas�
Teste Funcional Testa funcionalidades, requerimen-
tos e regras de negócio presentes na 
documentação�
Teste de 
Interface
Testa a navegabilidade e os objeti-
vos da tela para melhorar a forma ao 
usuário�
33
Teste de 
Performance
Verifica se o tempo de resposta é o 
desejado para o momento de utiliza-
ção da aplicação�
Teste de Carga Verifica o funcionamento da aplicação 
com a utilização de uma grande quan-
tidade de usuários simultâneos�
Teste de 
Aceitação do 
usuário
Testa se a solução será bem vista pelo 
usuário� 
Teste de Volume Testa a quantidade de dados� 
Testes de Stress Testa a aplicação em situações 
inesperadas� 
Testes de 
Configuração
Testa se a aplicação funciona corre-
tamente em diferentes ambientes de 
hardware ou software�
Testes de 
Instalação
Testa se a instalação da aplicação foi 
OK�
Testes de 
Segurança
Testa a segurança da aplicação das 
mais diversas formas�
Tabela 3: Tipos de teste e breve descrição. Fonte: Portalgsti. 
34
https://www.portalgsti.com.br/testes-de-software/sobre/
NORMAS ISO COM FOCO 
NA QUALIDADE DE 
SOFTWARE
A norma ISO tem sua origem a partir da International 
Federation of the National Standardizing Associations 
(ISA) em 1926 e cessou suas atividades em 1942, 
em decorrência da Segunda Guerra Mundial (SILVA, 
2013)� Com o término da guerra, em 1945, e com a 
evolução industrial, um novo grupo foi organizado a 
fim de estabelecer normas capazes de unificar pa-
drões mundiais, facilitando assim a coordenação� A 
International Organization for Standardization (ISO) 
foi criada por 25 países-membro e o encontro reali-
zou-se em Londres�
 ● A ISO nasceu de normas militares (SILVA, 2013):
 ● Normas Militares Americanas - MIL STD� 
- Padronização�
 ● MIL-Q-9858 foi a primeira Norma de Especificações 
de Sistema da Qualidade�
 ● MIL-I-45205 São requisitos de um Sistema da 
Qualidade�
 ● AQAP (Allied Quality Assurance) OTAN - Garantia 
da Qualidade�
 ● DEF�STAN (Defense Standard) Reino Unido - 
Normas das Forças Armadas Sobre os Sistemas da 
Qualidade�
 ● BS-5750 (British Standard)�
35
A primeira norma ISO a ser criada foi a 9000:1987, 
que se baseou na antiga norma BS-5750 (British 
Standard)� No entanto, devido à globalização, ou-
tras normas de qualidade foram surgindo e sendo 
aperfeiçoadas�
A organização da ISO é uma instituição sem fins lu-
crativos localizada em Genebra, Suíça� No Brasil, a 
ISO é representada pela Agência Brasileira de Normas 
Técnicas (ABNT), instituição em que as normas são 
traduzidas e têm acrescentada a sigla NBR� Por 
exemplo: NBR ISO 9000�
Por conta da globalização e de um padrão interna-
cional exigente com a alta produção e qualidade 
de baixo custo,governos e companhias utilizam as 
normas ISO como uma especificação de garantia e 
qualidade�
Há diversas variações das normas ISO, desde presta-
ção de serviço, produção, qualidade, automobilística, 
software, dentre outras� A industrialização comercial 
e o avanço tecnológico forçaram as organizações 
militares e privadas a terem padrões de qualidade 
muito exigentes, principalmente em projetos críticos 
militares e da agência espacial americana, a Nasa 
(SASABE, 1995)�
A ISO não é uma metodologia ou capacitação de 
maturidade como são CMM/CMMI, SPICE, CoBit, ITIL, 
mas pode ser utilizada no processo e nos escopos 
dos projetos� As normas são utilizadas simultanea-
mente e interligadas para cobrir as necessidades do 
produto ou do serviço�
36
NBR ISO/IEC 9126-
1 QUALIDADE DO 
PRODUTO DE SOFTWARE
A norma ISO/IEC 9126-1 está direcionada à qualidade 
do produto de software e dividida em quatro partes: 
1. Modelo de qualidade�
2. Métricas internas�
3. Métricas externas� 
4. Métricas de qualidade de uso do software� 
De acordo com Campos (s. d.), a NBR ISO/IEC 9126-1 
descreve a qualidade do produto de software, bem 
como enfatiza sua utilização interna e externa e sub-
divisões de cada uma para sua utilização correta� 
Portanto, a norma específica às características de 
qualidade aplicada a todo tipo de software�
Essas características são aplicadas a programas 
de computador e dados contidos em firmware. Por 
exemplo, temos o uso do modelo de qualidade defi-
nido nesta parte da NBR ISO/IEC 9126 para:
 ● Validar a completitude de uma definição de 
requisitos�
 ● Identificar requisitos de software.
 ● Identificar objetivos de projeto de software.
 ● Identificar objetivos para teste de software.
37
 ● Identificar critérios para garantia de qualidade.
 ● Identificar critérios de aceitação para produtos de 
software�
A subdivisão de qualidade de software da NBR ISO/
IEC 9126 divide-se em seis principais aspectos: 
 ● Funcionalidade
 ● Confiabilidade
 ● Usabilidade
 ● Eficiência
 ● Manutenibilidade
 ● Portabilidade
Entretanto, muitas vezes a NBR ISO/IEC 9126 não é 
bem compreendida ou não aplicável (CAMPOS, s� d�)� 
Por um lado, a norma não diz como fazer, mas o que 
precisa ser feito� Por outro lado, a NBR ISO/IEC 9126 
deixa bem claro a integração com outras normas de 
qualidade, além de ilustrar como se integra a norma 
de gestão de qualidade de software (Figura 5):
38
Recursos
e
ambiente
Apoio à 
avaliação
Processo 
de 
avaliação
Métricas 
internas
14598-1
14598-2
14598-6
Métricas 
externas
14598-3
14598-4
14598-5 9126-3 9126-2
9126-1
9126-4
Processo 
de 
avaliação
Produto 
de 
software
Efeitos do 
produto de 
software
Métricas 
de 
qualidade 
em uso
Figura 5: Relação entre as NBR ISO/IEC 9126 e NBR ISO/IEC 14598.
Fonte: ABNT (2003).
Assim, trata-se de uma norma flexível a se utilizar 
conforme os requisitos do produto do software� O 
processo de melhoria contínua PDCA está, então, 
no ciclo de vida de processo de desenvolvimento 
do software�
A NBR ISO/IEC 9126, em suas Notas, sugere a utiliza-
ção ou cita as semelhanças de conceitos em diversas 
normas, como:
 ● ISO/IEC 15504 para avaliação de processo de 
software�
 ● ISO/IEC 12207 ao ciclo de vida de software�
 ● ISO/IEC 9001 a processos de garantia de qualidade�
 ● ISO/IEC 14598 para avaliação de software�
 ● IEC 60050-191 para dependabilidade�
 ● ISO 9241-10 adequação à tarefa�
39
 ● ISO/IEC 2382-14 confiabilidade.
Portanto, a NBR ISO/IEC 9126 mantém seu foco 
nas quatro fases de qualidade de seu ciclo de vida 
(Figura 6). Entende-se que os termos de definição 
de qualidade na norma descrevem a estrutura de um 
modelo flexível, tal qual demonstrado na própria nor-
ma� Ainda, a norma descreve a utilização de outras 
normas em cada um de seus subsistemas�
Qualidade do 
processo
Atributos de 
qualidade 
interna
depende de depende de depende de
influencia influencia influencia
Atributos de 
qualidade 
externa
Atributos 
de 
qualidade 
em uso
Contextos 
de uso
Medidas de 
processo
Medidas 
internas
Medidas 
externas
Medidas de 
qualidade 
em uso
processo produto de software
efeitos do 
produto de 
software
Figura 6: Qualidade no ciclo de vida. Fonte: ABNT (2003).
A NBR ISO/IEC 9126 mantém seu foco no ciclo de 
qualidade em seu processo e enfatiza a utilização 
de outras normas para integrar a qualidade interna, 
externa e a utilização do software�
40
NBR ISO/IEC 15504 
PROCESSOS DE 
SOFTWARE EM NÍVEIS 
DE MATURIDADE 
- QUALIDADE
Em 1993, houve a necessidade de atingir os níveis 
de maturidade propostos pelos modelos anteriores, 
desenvolveu-se a norma ISO 9001; segundo a ISO/
IEC 15504, realizou-se o projeto Software Process 
Improvement and Capability Etermination (Spice), 
que inicialmente era um relatório técnico criado pela 
ISO para dar início à construção da norma�
A ISO/IEC 15504 foi encomendada pelo Ministério 
da Defesa do Reino Unido em 1990, dada a neces-
sidade de requisitos para a avaliação de processo 
de software� Cita ainda a participação de um grupo 
formado pela ISO para trabalhar no projeto Spice, 
aprovado em 1993�
As primeiras versões da norma ISO/IEC 15504 foram 
criadas exclusivamente para o desenvolvimento de 
software com vistas a cobrir todos os processos 
relacionados à criação de software, dentre eles o 
projeto de gestão, o gerenciamento de configuração 
e a garantia de qualidade (IBPI, 2014)�
Assim, “[...] o padrão 15504 define uma estrutura para 
avaliação e melhoria de processos de engenharia de 
41
software, e prescreve práticas básicas que devem 
ser realizadas para que se atinjam certos níveis de 
maturidade” (LAHOZ; ANNA, 2019)�
Rincon (2009), por sua vez, define a norma ISO/IEC 
15504 como um modelo de capacidade de proces-
so de software baseado nos processos da ISO/IEC 
12207� A norma ISO/IEC 12207 está ligada ao proces-
so de desenvolvimento e à manutenção do software 
e é utilizada com a ISO/IEC 15504 (LAHOZ; ANNA, 
2019)�
Entretanto, a norma ISO/IEC 15504 é dividida em cin-
co categorias, com base nas TR do Spice (Technical 
Report) (IBPI, 2014):
 ● Parte 1: Conceitos e Vocabulário (com base nas 
antigas partes 1 e 9 do TR2)�
 ● Parte 2: Realização de uma Avaliação (com base 
nas antigas partes 2 e 3 do TR2, eliminando-se as 
referências à dimensão de processo)�
 ● Parte 3: Guia para a Realização de uma Avaliação 
(com base nas antigas partes 4 e 6 do TR2)�
 ● Parte 4: Guia para a Utilização dos Resultados de 
uma Avaliação (com base nas antigas partes 7 e 8 
do TR2)�
 ● Parte 5: Um Modelo Exemplo para Avaliação (com 
base na antiga parte 5 do TR2)�
A norma possui seus níveis de maturidade semelhan-
tes ao CMM (Figura 7). Os tópicos não são isomórfi-
cos e há um alto nível de abstração definido (PAULK, 
42
1999)� Assim, a norma garante os princípios de qua-
lidade no processo de ciclo de vida do software�
Níveis de capacidade
Otimizando: melhoramento contínuo
Previsível: funciona sob controle
Executando: funciona de forma não planejada
Incompleto: falha ou inexistente
Gerenciando: funciona de forma planejada
Estabelecido: funciona de forma sistemática
0
1
2
3
4
5
Figura 7: Níveis de capacidade ISO 15504. Fonte: Paulk (1999).
Para o desenvolvimento de modelos, o relatório con-
tido na ISO/IEC 15504 ajuda a identificar tanto os 
pontos fracos quanto os pontos fortes na elaboração 
do plano de melhoria, além de verificar a conformida-
de dos requisitos da mesma norma (RABELLO et al�, 
2012)� Na Figura 8, podemos verificar os processos 
envolvidos na norma�
43
Processos Primários
Aquisição (Acquisition)
ACQ� 1: preparação 
ACQ�2: selo de fornecedor 
ACQ�3: contrato
ACQ�4: monitoração do fornecedor 
ACQ�5: aceitação
Fornecimento (Supply)
SPL�1: proposta (tendering) 
SPL�2: release do produto
SPL�3: aceitação e suporte
Engenharia (Engineering)
ENG�1: elic� requisitos ENG�7: integração de SW
ENG�2: an� req sistema ENG�8: teste de SW
ENG�3: arq� sist� ENG�9: integração de sistemaENG�4: an� req SW ENG�10: teste de sistema
ENG�5: design SW ENG�11: instalação de SW
ENG�6: constr� sw ENG�12: manutenção de SW e sist�
Operação (Operation)
OPE�1: uso operacional
OPE�2: suporte à operação
Processos Organizacionais
Gestão (Management)
MAN�1: alinhamento organizacional 
MAN�2: gestão organizacional
MAN�3: gestão de projeto
MAN�4: gestao da qualidade
MAN�5: gestão de risco
MAN�6: medição
44
Melhoria de Processos (Process Improvement)
PIM.1: definição de processo
PIM�2: avaliação de processo
PIM�3: melhoria de processo
Gestão de Recursos (Resource and lnfrastructure)
RIN�1: recursos humanos 
RIN�2: treinamento
RIN�3: gestão do conhecimento
RIN�4: infra-estrutura
Reuso (Reuse)
REU�1: gestão de ativos (assets) 
REU�2: gestão do programa de reuso
REU�3: engenharia de domínio
Processos de Apoio
Apoio
SUP� 1: garantia da qualidade SUP� 6: avaliação de produto 
SUP. 2: verificação SUP� 7: documentação
SUP� 3: validação SUP. 8: gestão de configuração
SUP� 4: revisão conjunta SUP� 9: solução de problemas
SUP� 5: auditoria SUP�10: gestão de mudança
Tabela 4: Quadro de tarefas da ISO/IEC 15504-5. Fonte: Adaptada de 
Rabello et al. (2012).
Assim, a norma ISO/IEC 15504 adotada no Brasil é 
acrescentada de NBR ISO/IEC 15504, ou seja, uma 
das normas que contêm diversos escopos para 
acompanhar os processos do software� Em seus 
escopos, a adoção de outras normas, como a NBR 
ISO/IEC 12207, também é utilizada para completar 
o ciclo de qualidade e necessidades dos requisitos 
que estão descritos na NBR ISO/IEC 15504�
45
ÉTICA NA ENGENHARIA 
DE SOFTWARE
A ét ica pode ser d iv id ida em três n íveis 
(GOTTERBARN, 1999):
 ● Nível 1: São as obrigações que fazem parte da 
humanidade, que envolvam a integridade, justiça, 
lealdade e moral�
 ● Nível 2: Relaciona-se com profissões e cuidados 
do bem-estar social�
 ● Nível 3: Trata-se do Código de ética de cada pro-
fissão especificamente.
Instituições reconhecidas internacionalmente ado-
tam o código de ética, como IEEE e ACM, ambas de 
tecnologia e que estão ligadas diretamente com a 
produção de conhecimento e normas de engenharia�
O código de ética foi desenvolvido por um grupo de 
cooperação internacional com o apoio de indústria, 
governos e instituições que apoiam a ética no traba-
lho (GOTTERBARN; MILLER; ROGERSON, 1999)� Na 
Tabela 4, encontramos alguns princípios da ética na 
engenharia de software:
 
46
Local Descrição
Público Engenheiros de Software devem atuar consis-
tentemente com os interesses públicos�
Clientes e 
empregados
Engenheiros de Software devem atuar de 
modo a atender os melhores interesses dos 
seus clientes e empregados, consistentemen-
te com os interesses públicos�
Produto
Engenheiros de Software devem assegurar 
que seus produtos e modificações relaciona-
dos atendam aos melhores padrões profissio-
nais possíveis�
Julgamento
Engenheiros de Software devem manter a 
integridade e a independência nos seus julga-
mentos profissionais.
Administração
Administradores e líderes de Engenharia de 
Software devem aderir e promover uma abor-
dagem ética ao gerenciamento do desenvolvi-
mento e manutenção de software� 
Profissão
Engenheiros de Software devem desenvolver 
a integridade e reputação da profissão consis-
tentemente com os interesses do público�
Coleguismo Engenheiros de Software devem ser justos e 
dispostos a auxiliar seus colegas�
Identidade
Engenheiros de Software devem participar do 
aprendizado de suas vidas valorizando a prá-
tica da sua profissão e devem promover uma 
abordagem ética à prática da profissão.
Tabela 5: Princípios de Ética. Fonte: Gotterbarn (1999).
A ética em projetos de software está ligada sobretu-
do à prestação de serviços, a contratos e a acordos 
do lado do cliente e da empresa e seus profissionais. 
Visando a garantir uma qualidade de serviços de 
Tecnologia da Informação, alguns métodos e nor-
mas foram estabelecidos para haver um padrão na 
47
entrega dos serviços e que os contratantes cumpram 
aquilo que foi acordado�
A ética dos profissionais da engenharia de softwa-
re não está ligada apenas à integridade da pessoa, 
mas também aos envolvidos no projeto� Logo, ser 
ético envolve compromissos e acordos que, para 
o contratado e o contratante, devem ser honrados�
A NBR/ISO 20000 trata da prestação de serviços na 
área de Tecnologia da Informação (TI) e cobre os 
processos envolvidos na gestão voltada ao objetivo 
do negócio�
48
NBR/ISO 20000 GESTÃO 
DE SERVIÇOS NA ÁREA 
DE TECNOLOGIA DA 
INFORMAÇÃO
A NBR ISO/IEC 20000 é uma especificação do 
Gerenciamento de Serviços na área de Tecnologia 
da Informação desenvolvida pela British Standards 
Institution (BSI), ou Instituto de Padrões Britânicos, 
que substitui a antiga BS 15000 (EXIN, 2010-2011)�
ISO 20000 é o padrão internacional para 
Gerenciamento de Serviços de TI (ITSM), publicado 
pela ISO e Comissão Internacional Eleitoral (ICE)� 
Para se tornar um padrão internacional, a ISO 20000 
teve de ser acordada pela maioria dos países-mem-
bro, o que significa ser aceita pela maioria dos países.
Com a NBR ISO/IEC 20000, descreve-se um conjunto 
de processos de gestão destinado a ajudar a en-
tregar os serviços de TI mais eficientemente tanto 
para aqueles dentro do negócio quanto aos clientes� 
Assim, por meio dos requisitos da norma, é possível 
conseguir melhores práticas, ajudando a melhorar a 
prestação de serviços de TI e aplicável a qualquer 
tamanho da empresa e qualquer indústria�
São requisitos da NBR ISO/IEC 20000:
 ● Processos de planejamento e implementação� 
 ● Processos de entrega de serviços�
49
 ● Processos de relacionamento�
 ● Processos de solução�
 ● Liberação e controle�
Portanto, a NBR ISO/IEC 20000 possui um conceito de 
três níveis representado por uma pirâmide (Figura 9)�
Contexto da ISO/IEC 20000
ISO/IEC
20000-1
ISO/IEC 20000
Code of Practice
DEVEM TER
• Requisitos Mínimos
• Check List
PODEM TER
• Melhoria da Parte I
• Recomendações
História e Partes
ISO/IEC 20000-2
Básicos: Gerenciamento de 
Serviços de TI (ex: ITIL®, 
MOF, CobiT) & 
Gerenciamento da 
Qualidade (ex ISO 9000)
ISO/IEC 20000
Specification
Figura 8: Contexto da ISO/IEC 20000. Fonte: EXIN (2010-2011).
50
METODOLOGIAS 
TRADICIONAIS DE 
DESENVOLVIMENTO DE 
SOFTWARE
Podemos entender a metodologia como um con-
junto de práticas coordenadas com a finalidade de 
atingir um objetivo, fornecendo um roteiro e proces-
sos dinâmicos e iterativo para um desenvolvimento 
estruturado de um projeto de software com foco na 
qualidade� Dessa forma, o desenvolvimento tradi-
cional de software utiliza alguns modelos, dentre os 
quais se destacam o modelo cascata, a prototipação 
e o espiral�
51
MODELO CASCATA
O modelo cascata foi criado em 1970 por Winston 
Walker Royce, sendo bastante aceito até meados da 
década de 1980. Esse modelo tem a finalidade de 
determinar sequencialmente as etapas do desen-
volvimento de um projeto e de garantir que as ideias 
sejam analisadas sob todos os aspectos, de modo 
que nada fique de fora. Possui forma sequencial de 
maneira rígida e menos administrativa, pois todos os 
requisitos são determinados no início do projeto, por 
ser sequencial não pode haver falhas�
Utilizou-se o modelo cascata como base para outros 
modelos de desenvolvimento, como o iterativo, cujas 
fases estão ilustradas na Figura 10:
Requerimento
Projeto
Implementação
Verificação
Manutenção
Figura 9: Modelo Cascata. Fonte: Casa da Consultoria (s. d.).
O modelo cascata sequencial é utilizado principal-
mente em projetos críticos, ou seja, aqueles que en-
52
volvam riscos para pessoas. Tem os requisitos defi-
nidos no início do projeto, assim como seu custo� O 
projeto de software é bem definido e não pode haver 
falha; caso haja, deve ser abortado ou reiniciado� Ele 
tampouco é um modelo iterativo, porém, serve como 
base para outros modelos de desenvolvimento� Cada 
fase do projeto está descrita na Tabela 5:
Fases Descrição
Requisitos
São estabelecidos os requisitosneces-
sários para o produto que o idealizador 
deseja desenvolver, o que normalmente 
se baseia nos serviços que precisam ser 
fornecidos, nas limitações aceitáveis e 
os objetivos do software�
Projeto do 
Sistema
Diversos processos distribuídos por qua-
tro atributos: estrutura de dados, a arqui-
tetura do software, caracterização das 
interfaces e detalhes procedimentais�
Implementação
Quando os programas são criados, 
começa a etapa de implementação� Se 
o projeto tiver um nível de detalhamento 
mais avançado, a etapa de codificação 
pode ser implementada de maneira 
automática�
Verificação
Após o fim da etapa de codificação, a 
fase da realização de testes do sistema 
começa� Este processo foca em dois 
pontos principais: as lógicas internas do 
software e as funcionalidades externas�
Manutenção
A fase da manutenção baseia-se na 
correção de erros que não foram detec-
tados durante os testes, em melhorias 
funcionais e, de preferência, com os 
demais tipos de suporte�
Tabela 6: Modelo cascata. Fonte: Adaptada de Pressman e Maxim 
(2016).
53
MODELO 
INCREMENTAL
O ciclo de vida incremental é agrupado por módulos, 
cujos requisitos são definidos e o planejamento de 
suas fases são executadas sequencialmente, com 
base na importância das funcionalidades segundo 
necessidades do cliente� Assim, cada módulo pas-
sa pelas fases do modelo cascata e, ao final, essa 
parte é entregue ao cliente� Podemos entender esse 
modelo como uma sequência de modelos cascatas 
(Figura 11)�
Requerimento
Projeto
Implementação
Verificação
Implantação
Requerimento
Projeto
Implementação
Verificação
Implantação
Requerimento
Projeto
Implementação
Verificação
Implantação
Incremento 3
Incremento 2
Incremento 1
Figura 10: Modelo Cascata. Fonte: Pressman e Maxim (2016).
54
METODOLOGIA EM 
PROTOTIPAÇÃO
Considera-se este modelo um ciclo de vida que faz 
parte de outros modelos de ciclo de vida� Por exem-
plo, ele pode ser utilizado na produção de um dese-
nho de uma tela com alguma funcionalidade�
Nesse tipo de modelo, não é preciso ter todos os re-
quisitos do projeto definido como no modelo cascata. 
Por isso, é possível ter uma ideia de como ficará parte 
do sistema, sendo possível inclusive trocar informa-
ções com clientes que não têm uma definição certa 
dos requisitos ou que careçam de entendimento�
Na prototipagem, o cliente consegue visualizar me-
lhor o produto, mesmo que parcialmente, apresen-
tando uma resposta mais adequada e, com isso, 
melhorando o entendimento� O ciclo de vida da pro-
totipagem segue as fases ilustrada na Figura 12�
Construção de 
Protótipo
Implantação, 
Entrega e 
Feedback
Comunicação
Plano 
Rápido
Modelagem
Projeto Rápido
Figura 11: Modelo de prototipagem. Fonte: Pressman e Maxim (2016).
55
No protótipo, normalmente não há conexões com 
bancos de dados, pois a intenção é mostrar ao clien-
te como ficaria o desenho do sistema para validar 
alguns requisitos básicos� O cliente pode ainda com-
parar o que foi definido no começo com os projetos 
finais.
56
RAPID APPLICATION 
DEVELOPMENT
O modelo Rapid Application Development (RAD) é 
considerado uma evolução da prototipagem rápida, 
visto que o ciclo de vida é maior, bem como possui 
uma regra de duração entre 60 e 90 dias� É tido como 
um modelo incremental e iterativo�
No modelo RAD, há um forte paralelismo das ativida-
des, sendo que os modelos são independentes� Essa 
característica possibilita que os modelos possam se 
desenvolver por equipes diferentes� Dessa manei-
ra, o levantamento de requisitos costuma ser mais 
dinâmico, como o uso de workshops no lugar das 
entrevistas� É possível, então, um desenvolvimento 
inicial com grau mais alto de abstração e com um 
envolvimento maior do usuário e visualização dos 
protótipos (Figura 12)�
57
modelagem do 
negócio
modelagem 
dos dados
modelagem do 
processo
geração da 
aplicação
teste e 
modificação
60-90 dias
equipe # 3
modelagem do 
negócio
modelagem 
dos dados
modelagem do 
processo
geração da 
aplicação
teste e 
modificação
equipe # 2
modelagem do 
negócio
modelagem 
dos dados
modelagem do 
processo
geração da 
aplicação
teste e 
modificação
equipe # 1
Figura 12: Modelo RAD. Fonte: Devmedia.
58
MODELO ESPIRAL
Este modelo possui um formato de espiral em que 
cada volta passa por quatro fases com a intenção 
de melhorar continuamente, ou seja, se houver algu-
ma manutenção no próximo ciclo, ocorrem falhas 
ou atualizações. Assim, apenas o início é definido; 
por ser um modelo evolutivo, demanda tempo para 
ajustes e custos do projeto�
Com essas características, a adoção por clientes 
torna-se difícil, uma vez que envolve custos que po-
derão ser modificáveis e falta de controle preciso. 
Considera-se, desse modo, o modelo mais completo 
e demorado para se implantar, e suas quatro fases 
são descritas na Tabela 7:
Fases Descrição
Definição de objetivos
Contempla o desempe-
nho e as funcionalidades 
para alcançar os objetivos 
listados com um plano 
gerencial�
Análise de riscos
Analisa e avalia os riscos 
e as restrições� Os protóti-
pos são utilizados tanto no 
desenvolvimento quanto 
na análise de risco�
59
Fases Descrição
Desenvolvimento e validação
Valida-se o modelo 
apropriado para o desen-
volvimento do sistema, de 
acordo com os riscos da 
fase anterior�
Planejamento da próxima 
fase
Promove a revisão do 
projeto, ocorrendo as mo-
dificações necessárias nas 
próximas fases�
Tabela 7: Fases espiral. Fonte: Adaptado de Devmedia.
Há muito itens a serem tratados no modelo espiral, 
para tanto, precisamos entender que cada iteração 
tem diversos requisitos a se realizarem� O espiral 
deve ser entendido em sentido horário (Figura 13)�
Custo Acumulado
Progresso através das fases
Avalia alternativas, 
identifica e resolve 
riscos
Desenvolve e 
verificar o produto no 
nível seguinte
Análise de 
Riscos
Análise de 
Riscos
Análise de 
Riscos
Análise 
de 
Riscos
Ideia de 
Operação
Requisitos de 
Sofware Projeto do 
Produto 
Sofware
Projeto da 
Verificação e 
Validação
Teste de 
AceitaçãoImplementação
Plano de testes
Plano de Integração
Plano de 
Desenvolvimento
Plano de Requisitos
Plano do Ciclo de Vida
Planeja a 
próxima fase
Determina
Objetivos
Alternativas
Restrições
Comprometimento
partição
R
ev
is
ão
Teste de 
Integração
Teste de 
Unidade
Código
Projeto 
DetalhadoRequisitos de 
Validação
Protótipo 1Protótipo 2
Simulações, Modelos, “benchmarks”
Protótipo 3
Protótipo 
Operacional
Figura 13: Modelo espiral. Fonte: Devmedia.
60
https://www.devmedia.com.br/ciclos-de-vida-do-software/21099
https://www.devmedia.com.br/ciclos-de-vida-do-software/21099
CONSIDERAÇÕES FINAIS 
Neste módulo, abordamos o desenvolvimento de 
software distribuído que requer conhecimentos de 
arquitetura cliente-servidor� O conhecimento dos pa-
radigmas de linguagens de programação aplica-se na 
escolha da melhor tecnologia conforme a aplicação�
Além disso, estudamos como as normas e os mo-
delos são importantes no processo de desenvolvi-
mento de software� Nos processos de engenharia, o 
software passa por várias análises e escolhas para 
garantir a qualidade, que engloba os serviços pres-
tados pelos profissionais envolvidos nos projetos, 
como os engenheiros de softwares�
Portanto, é de suma importância entender tudo que 
envolva técnicas e ferramentas da engenharia de 
software para se ter um melhor conhecimento de 
projetos dos quais participamos�
 ● Metodologia em prototipação�
 ● Rapid Application Development (RAD)�
 ● Modelo espiral�
61
SÍNTESE
Paradigmas de Linguagem 
de Programação
1) Engenharia de software distribuído.
Aborda principalmente a arquitetura 
cliente-servidor:
• Servidor Web.
• Aplicações em redes.
2) Engenharia de software orientado a 
serviços.
Aborda arquitetura distribuída de alta 
complexibilidade e sistema distribuído:
• Web Services.
• Composição.
3) Engenharia de software: 
desenvolvimento profissional e ética.
Analisa o desenvolvimento e a prestaçãode serviços em acordo com as normas e 
as técnicas, visando à ética profissional:
• Padronização e qualidade.
• Prestação de serviços e código de 
ética.
4) Metodologias tradicionais de 
desenvolvimento de software.
Apresenta modelos clássicos para o 
desenvolvimento de software:
• Modelo cascata.
• Metodologia em prototipação.
• Rapid Application Development (RAD).
• Modelo espiral.
Referências 
Bibliográficas 
& Consultadas
CAMPOS, F� M� Quais são as reais características da 
qualidade da NBR-ISO/IEC-9126-1? Linhadecódigo: 
Gerência – qualidade e testes� Disponível em: http://
www.linhadecodigo.com.br/artigo/1444/quais-sao-
-as-reais-caracteristicas-da-qualidade-da-nbr-iso_iec-
9126-1.aspx� Acesso em: 10 ago� 2019� 
CASA DA CONSULTORIA� Modelo cascata: o que é e 
como funciona? (s� d�)� Disponível em: https://casa-
daconsultoria.com.br/modelo-cascata/� Acesso em: 
15 ago� 2019�
DEITEL, P�; Deitel, H�; Java: Como Programar� 10� 
ed� São Paulo, Pearson Education do Brasil, 2016 
[Biblioteca Virtual]�
EXIN� ISO; IEC 20000� Fundamentos ISO/IEC 
20000� PMG Education, versão português (Brasil), 
2010-2011�
GALDINO, A� K� Alemanha: saiba como validar 
diploma de engenharia e veja os salários, 8 ago� 
2016� Disponível em: https://engenhariae.com.br/
http://www.linhadecodigo.com.br/artigo/1444/quais-sao-as-reais-caracteristicas-da-qualidade-da-nbr-iso_iec-9126-1.aspx
http://www.linhadecodigo.com.br/artigo/1444/quais-sao-as-reais-caracteristicas-da-qualidade-da-nbr-iso_iec-9126-1.aspx
http://www.linhadecodigo.com.br/artigo/1444/quais-sao-as-reais-caracteristicas-da-qualidade-da-nbr-iso_iec-9126-1.aspx
http://www.linhadecodigo.com.br/artigo/1444/quais-sao-as-reais-caracteristicas-da-qualidade-da-nbr-iso_iec-9126-1.aspx
https://casadaconsultoria.com.br/modelo-cascata/
https://casadaconsultoria.com.br/modelo-cascata/
https://engenhariae.com.br/mercado/alemanha-saiba-como-validar-diploma-de-engenheiro-e-veja-os-salarios
mercado/alemanha-saiba-como-validar-diploma-de-
-engenheiro-e-veja-os-salarios � Acesso em: 20 ago� 
2019�
GUEDES, M� Você sabe o que é Arquitetura 
Orientada a Serviço (SOA)? 25 maio 2017� 
Disponível em: https://www.treinaweb.com.br/blog/
voce-sabe-o-que-e-arquitetura-orientada-a-servicos-
-soa/� Acesso em: 15 ago� 2019�
GOTTERBARN, D� How the new Software 
Engineering Code of Ethics affects you� Software, 
IEEE Software Engineering, v� 1, n� 16, p� 58-64, nov�/
dec� 1999�
GOTTERBARN, D�; MILLER, K�; ROGERSON, S� 
Computer society and ACM approve software engi-
neering code of ethics� Computer Society, v� 1, n� 32, 
p� 84-88, oct� 1999�
IBPI� ISO/IEC 15504� International Best Practice 
Institute� Disponível em: http://ibpi.org/wp-content/
uploads/2012/07/ISO-IEC- 15504_20120808_
DOWNLOAD2.pdf� Acessado em agosto de 2014�
LAHOZ, C�; ANNA, N� S� Os Padrões ISO/IEC 12207 e 
15504 e a Model agem de Processos da Qualidade 
de Software� Disponível em: http://mtc-m18.sid.inpe.
br/col/lac.inpe.br/worcap/2003/10.20.14.01/doc/
LahozWorkcap_versaofinal.pdf� Acesso em: 25 jul� 
2019� 
https://engenhariae.com.br/mercado/alemanha-saiba-como-validar-diploma-de-engenheiro-e-veja-os-salarios
https://engenhariae.com.br/mercado/alemanha-saiba-como-validar-diploma-de-engenheiro-e-veja-os-salarios
https://www.treinaweb.com.br/blog/voce-sabe-o-que-e-arquitetura-orientada-a-servicos-soa/
https://www.treinaweb.com.br/blog/voce-sabe-o-que-e-arquitetura-orientada-a-servicos-soa/
https://www.treinaweb.com.br/blog/voce-sabe-o-que-e-arquitetura-orientada-a-servicos-soa/
http://ibpi.org/wp-content/uploads/2012/07/ISO-IEC-%2015504_20120808_DOWNLOAD2.pdf
http://ibpi.org/wp-content/uploads/2012/07/ISO-IEC-%2015504_20120808_DOWNLOAD2.pdf
http://ibpi.org/wp-content/uploads/2012/07/ISO-IEC-%2015504_20120808_DOWNLOAD2.pdf
http://mtc-m18.sid.inpe.br/col/lac.inpe.br/worcap/2003/10.20.14.01/doc/LahozWorkcap_versaofinal.pdf
http://mtc-m18.sid.inpe.br/col/lac.inpe.br/worcap/2003/10.20.14.01/doc/LahozWorkcap_versaofinal.pdf
http://mtc-m18.sid.inpe.br/col/lac.inpe.br/worcap/2003/10.20.14.01/doc/LahozWorkcap_versaofinal.pdf
LINHARES, E� S�; OGAWA, F� M�; PIMENTEL, J�; 
SOUZA, M� M� Tópicos avançados comparativos 
entre os servidores web: Apache e IIS� Computação 
Aplicada, v� 3, n� 1�, 2014� p�35-39�
MANZANO, J� A� N� G� Algoritmos: lógica para de-
senvolvimento de programação de computadores� 
28� ed� São Paulo: Érica, 2016 [Biblioteca Virtual]�
MANZANO, J� A� N� G� Java 7: programação de com-
putadores: guia prático de introdução, orientação e 
desenvolvimento� São Paulo: Érica, 2011 [Biblioteca 
Virtual]�
MASIERO, P� C� Desenvolvimento de Software 
Baseado em Componentes� (s� d�)� Disponível 
em: https://edisciplinas.usp.br/pluginfile.
php/130351/mod_resource/content/1/DSBC_UML_
Components_1-2-3.pdf� Acesso em: 05 ago� 2019�
MELO, A� C� V�; SILVA, F� S� C� Princípios de 
Linguagem de Programação� São Paulo: Edgard 
Blücher LTDA, 2003 [Biblioteca Virtual]�
PACITTI, T� Paradigmas do software aberto� Rio de 
Janeiro: LTC, 2006 [Minha Biblioteca]
PAULA FILHO, W� P� Engenharia de software: funda-
mentos, métodos e padrões� 3� ed� São Paulo: Gen/
LTC, 2009 [Biblioteca Virtual]�
https://edisciplinas.usp.br/pluginfile.php/130351/mod_resource/content/1/DSBC_UML_Components_1-2-3.pdf
https://edisciplinas.usp.br/pluginfile.php/130351/mod_resource/content/1/DSBC_UML_Components_1-2-3.pdf
https://edisciplinas.usp.br/pluginfile.php/130351/mod_resource/content/1/DSBC_UML_Components_1-2-3.pdf
PAULK, M� C� Analyzing the Conceptual Relationship 
Between ISO/IEC 15504 (Software Process 
Assessment) and the Capability Maturity Model for 
Software� Software Engineering Institute, Carnegie 
Mellon University� Pittsburgh, PA, USA, 1999� 
PRESSMAN, R� S�; MAXIM, B� R� Engenharia de 
Software: uma abordagem profissional. 8. ed. Porto 
Alegre: McGraw-Hill, 2016 [Biblioteca Virtual]�
RABELLO, R� B�; NUNES, J� B�; BARBALHO, R� A�; 
VON WANGENHEIM, C� G� Integração de engenha-
ria de usabilidade em um modelo de capacidade/
maturidade de processo de software� Florianópolis, 
Universidade Federal de Santa Catarina, 2012� 
Disponível em: http://www.gqs.ufsc.br/wp-content/
uploads/2012/11/draftIHC2012_Integracao_EU_
MCMPS.pdf� Acesso em: 15 ago� 2019�
RINCON, A� M� Qualidade de Software� Instituto de 
Informática/Universidade Federal de Goiás (UFG)� 
ENCOINFO, Anais, Curso Superior de Tecnologia em 
Análise e Desenvolvimento de Sistemas/Fundação 
Universidade do Tocantins (Unitins), 2009�
SALÁRIO� Engenharia de software computacional 
básico� Disponível em: https://www.salario.com.br/
profissao/engenheiro-de-software-computacional-
-basico-cbo-212215/� Acesso em: 20 ago� 2019�
SASABE, S� ASQ: Quality Assurance� World congress 
for software quality, San Francisco, CA, v� 1, n� 0, jun� 
http://www.gqs.ufsc.br/wp-content/uploads/2012/11/draftIHC2012_Integracao_EU_MCMPS.pdf
http://www.gqs.ufsc.br/wp-content/uploads/2012/11/draftIHC2012_Integracao_EU_MCMPS.pdf
http://www.gqs.ufsc.br/wp-content/uploads/2012/11/draftIHC2012_Integracao_EU_MCMPS.pdf
https://www.salario.com.br/profissao/engenheiro-de-software-computacional-basico-cbo-212215/
https://www.salario.com.br/profissao/engenheiro-de-software-computacional-basico-cbo-212215/
https://www.salario.com.br/profissao/engenheiro-de-software-computacional-basico-cbo-212215/
20-22, 1995� p� 1-9� Disponível em: http://asq.org/
qic/display-item/?item=10928� Acesso em: 12 ago� 
2019�
SBROCCO, J� H� T� C�; MACEDO, P� C� Metodologias 
ágeis: engenharia de software sob medida� São 
Paulo: Érica, 2012 [Biblioteca Virtual]�
SGANDERLA� K� Qual a principal diferença entre 
BPM e BPEL? 27 maio 2013� In: i Process Soluções 
em Tecnologia� Disponível em: http://blog.iprocess.
com.br/2013/05/qual-a-principal-diferenca-entre-
-bpm-e-bpel/� Acesso em: 20 ago� 2019�
SARMENTO, L� Breve introdução ao RMI – Remote 
Method Invocation, 2003� Disponível em: https://
web.fe.up.pt/~eol/AIAD/aulas/JINIdocs/rmi1.html� 
Acesso em: 15 ago� 2019�
SILVA, J� A� L� História da ISO� 07 mar� 2013� 
Disponível em:http://www.ciriusquality.com.br/in-
dex.php/artigos-noticias/23-iso-9001/54-historia-da-
-iso� Acesso em: 20 ago� 2019�
SOUZA, M� A� F�; GOMES, M� M�; SOARES, M� V�; 
CONCILIO, R� Algoritmos e lógica de programação� 
3� ed� Cengage, 2019 [Biblioteca Virtual]�
TOMCAT� Apache Tomcat (2016)� Disponível em: 
https://tomcat.apache.org/download-80.cgi� Acesso 
em: 20 ago� 2019�
http://asq.org/qic/display-item/?item=10928
http://asq.org/qic/display-item/?item=10928
http://blog.iprocess.com.br/2013/05/qual-a-principal-diferenca-entre-bpm-e-bpel
http://blog.iprocess.com.br/2013/05/qual-a-principal-diferenca-entre-bpm-e-bpel
http://blog.iprocess.com.br/2013/05/qual-a-principal-diferenca-entre-bpm-e-bpel
https://web.fe.up.pt/~eol/AIAD/aulas/JINIdocs/rmi1.html
https://web.fe.up.pt/~eol/AIAD/aulas/JINIdocs/rmi1.html
http://www.ciriusquality.com.br/index.php/artigos-noticias/23-iso-9001/54-historia-da-iso
http://www.ciriusquality.com.br/index.php/artigos-noticias/23-iso-9001/54-historia-da-iso
http://www.ciriusquality.com.br/index.php/artigos-noticias/23-iso-9001/54-historia-da-iso
https://tomcat.apache.org/download-80.cgi
	_Hlk17660324
	_GoBack
	_Hlk15778509
	_Hlk17571486
	_Hlk17669232
	_Hlk17664828
	_Hlk17665033
	_Hlk17665186
	_Hlk17665473
	Introdução
	Engenharia de Software Distribuído
	Remote Method Invocation
	Servidor web
	Entendendo a arquitetura do TOMCAT
	Engenharia de Software Orientado a Serviços
	Web Services
	Engenharia de Software: desenvolvimento profissional e ética
	Profissional de Engenharia de Software
	Principais áreas da Engenharia de Software: Gerenciamento de configuração de software
	Ferramentas e métodos
	Projeto e desenho (Design):
	Qualidade de software
	Teste de Software 
	Normas ISO com foco na qualidade de software
	NBR ISO/IEC 9126-1 qualidade do produto de software
	NBR ISO/IEC 15504 processos de software em níveis de maturidade - qualidade
	Ética na Engenharia de Software
	NBR/ISO 20000 gestão de serviços na área de Tecnologia da Informação
	Metodologias tradicionais de desenvolvimento de software
	Modelo Cascata
	Modelo Incremental
	Metodologia em prototipação
	Rapid Application Development
	Modelo Espiral
	Considerações finais 
	Síntese

Continue navegando

Outros materiais