Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
de Software e Sistemas
Centro de Informtica - Universidade Federal de Pernambuco
Engenharia da Computao
Kiev Gama
kiev@cin.ufpe.br
Slides originais elaborados por Ian Sommerville e adaptado pelos professores Marcio Cornlio, Vinicius Garcia e Kiev Gama
O autor permite o uso e a modificao dos slides para fins didticos
Engenharia de software
As economias de TODAS as naes desenvolvidas
so dependentes de software.
Cada vez mais sistemas so controlados por
software.
A engenharia de software se dedica s teorias,
mtodos e ferramentas para desenvolvimento de
software profissional
Sistemas no-triviais
Com base em um conjunto de requisitos
Custos de software
Os custos de software dominam os custos de
sistemas computacionais.
Definies
Disciplina gerencial e tecnolgica que lida
com a produo e manuteno
sistemtica de produtos de software
desenvolvidos dentro de estimativas de
custo e tempo
Methods for the Multi-person construction
of multi-version software(Parnas)
O que software?
Programas de computador e artefatos associados
Produtos de software podem ser:
Genricos desenvolvidos para serem vendidos
para uma grande variedade de clientes (e.g., Excel e
Word)
Personalizados desenvolvidos para um nico
cliente de acordo com as suas especificaes.
Tipos de Aplicao
Stand-alone
Interativas baseadas em transaes
Sistemas de controle embarcados
Sistemas de processamento em batch
Sistemas de entretenimento
Sistemas de modelagem e simulao
Sistemas de coleta de dados
Sistemas de sistemas
Chapter 1 Introduction
10
Engenharia de sistemas:
Mais ampla
Muita nfase em aspectos de hardware e infraestrutura
Abstrao do hardware
Organizao fsica das partes do sistema
Aspectos de comunicao
Validao;
Evoluo.
12
14
15
16
Lower-CASE
Ferramentas para apoiar as atividades finais tais
como programao, debugging e teste.
17
Confiabilidade
O software deve funcionar de maneira que o usurio possa
depender dele. No caso de falha, no traz danos fsicos ou
econmicos
Eficincia
O software deve usar o mnimo de recursos e prover mxima
funcionalidade
Usabilidade
O software deve ser compreensvel e fcil de usar
18
Entrega
O sistema deve ser entregue ao cliente no menor tempo
possvel, com o menor custo possvel;
Confiana
O usurio deve poder justificadamente depositar sua confiana
no sistema
Escala
O sistema deve funcionar adequadamente mesmo quando um
grande nmero de usurios o est usando
19
20
Competncia
Os engenheiros no devem conscientemente aceitar um
trabalho que esteja fora de sua competncia.
23
24
Dilemas ticos
Discordncia, em princpio, das polticas
da gerncia snior.
Um funcionrio age de uma forma no
tica e libera um sistema de segurana
crtico sem finalizar o teste do sistema.
Participao no desenvolvimento de
sistemas de armamentos militares ou de
sistemas nucleares
25
Software requirements
Software design
Software construction
Software testing
Software maintenance
Software configuration management
Software engineering management (Engineering management)
Software engineering process
Software engineering models and methods
Software quality
Software engineering professional practice
Software engineering economics
Computing foundations
Mathematical foundations
Engineering foundations
26
Bibliografia
Sommerville, Ian. Engenharia de Software, 9
edio. Pearson Education
27