-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAula1.txt
133 lines (111 loc) · 6.24 KB
/
Aula1.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
O que é software? PTF = program temporary fix=service pack
Apenas Código,um programa? NÃO!
Do ponto de vista de engenharia de software, o codigo só é uma parte do software . A documentação é parte integrante disso
Para a engenharia de software, é algo profissional, produto.
Em suma:
Código,documentação,definição de estruturas dados
-Documentação
-Descreve a funcionalidade do programa, além das estruturas de dados (a maneira que eles estao organizados no programa) presentes.
-Por conta de manutenção e legado, é tão importante quanto o próprio código
-Duplo papel:
produto e meio de se distribuir o produto
-Sistema(software) batch:
Sistemas com pouco interação com o usuário -----> geração de relatórios ex: Sistema de backup,CPU intesive
-----> console do sistema e a unica interação com o usuário
-Sistema transacionais: Transação
-------> Alteração em banco de dados simultaneos de tal forma que evita a inconsistencia de dados em bancos diferentes em caso de interrupcção na comunicação
-------> Commit(FAZ TUDO), rollback(faz nada)
Perguntas que ocorrem no deselvolvimento de software
Crise do software
Por que concluir um sftware leava tempo?
Por que os custos de desenvolvimento dsao tao altos?
Por que nao se consegue encontrar todos os erros antes de se entregar o software?
por que se gasta tanto esforço para se manter o software?
Por que desenvolver um software é complexo?
-è uma outra realiadde. as leias da fisica nao se aplicam , pois é apenas uma receita de bolo, um conjunto de regras
-Abstrair um problema para um software é muito difícil
Curva de falhas hardware X software
Hardware= Banheira. Fabricação e tempo de uso
software= Ideal: Curva tende a zero
Real: Ao se realizar uma mudança no software,há uma chance de inserção de erro. Uma parte da estrutura alterada afetam outras. Quanto mais mudanças, mais erros são inseridos , e com o tempo a tazxa de falhas aumenta
Produção de software:
-NAO SE DESGASTE
-São DESENVOLVIDOS, nao manufaturados
- A industria esta cresenco na parte de componentes de software , mas nao substitui a a customização e nao resolve todos os problemas
ex: Collections(Java), bibliotecas de outros usuários, etc
Atributos de um bom software
Requisitos
O que o software deve fazer aquilo que foi designado
Confiabilidade
o software não falhar
Manutenção
Fazer facilmente alterações nos sistemas deve ser algo presado
Funcionalidade
Deve ser adequado ao publicos
O que é engenharia de software ?
Área da engenharia que se preovupa com todos os aspectos na produção de software
Grande objetvitos
Minimizar custos de desenvolvimenos para a entrega de um software de boa qualidade
Areas da engenharia de software
Especificação----> Planejamento do software, saber o que ele vai fazer
engenharia de requisitos !
Desenvolvimento
fazer o codigo
Validação
testes
Evolução
manter o software em operação
A engenharia de software nao se preocupa com a parte teorica da computação, e sim mais na parte pratica
Engenharia de sistemas--------->Engenharia de software
|
|
|-----> Hardware
A egenharai de software veio para melhorar o processo da produção de software
Desafios
Prazo curto
Demanda crescente
Diversidade de Aplicações
Deselvolvimento de software
Custos de um software
Em media 60% desenvolvimento e 40% em testes
Desenvolver um software sem usar a engenharia de software pode deixa-lo não profissional . Consequencias
+Custo, estouro de prazo e confiabilidade
Crise de software
Final da decada de 60
Representa as diculdades vividas na época do surgimentos da engenharia de softare
ex: Custo, prazo, qualidade, requisitos, etc
Escopo da engenharia de software
Trabalha com software proffisional
Desenvolvimento em equipe
Lida com multiplos programas ao mesmo tempo frequentemente
Nao se trata de programação de código, mas sim tambem do projeto todo em si. Documentação, elicitação de requisitos (Levantar, descobrir )
Produtos de software
Genéricos
o usuario se adequa ao software. Feito para vários
Customizados
O software se adequa ao usuário. Feito para um
nota: Existe softwares meio termos, como a totus e a sap , funciona com base em pacotes prontos para automatizar uma empresa.
ERP's- Sistemas de gestão integrada. Implementa de maniera grossa e adapta com o tempo
Aplicações beneficiadas com softwares
TODAS as areaspraticamente
Software legado
Software antigo de uma empresa
DEcadas de existencia
em geral nao tem boa qualidade nem documentação
Dependendo do sistema , ainda são vitais para empresa, por isso ainda existem
o que fazer?
NADA!!!!!!!!!!
so se tiver muito fodido, tentar fazerr uma reegenharia utilizando engenharia de software
Mito ou verdae?
MITOS
-um livro supri todas as necessidades da equipe no quesito de desenvolver e documentar um software
-acresentar mais programadores acelera a a produção do software
-Contratar um terceiro para desenvolver o projeto resolvera os problemas
-Ter os objetivos do software definidas supercialmente, levando , muitas vezes, a ambiguidade , é o suficiente para iniciar a codificação do projeto (O OBJETIVO DEVE SER CLAROOOOOOOOO!!!!!!!NAO DEFINIR REQUISITOS AMBIGUOS )
-Todas as mudanças de diretrizes ao longo do projeto do software são absorvidas ao longo do projeto(Depende do momento da mudança e se o software foi desenvolvido para suportar as mudanas. quanto mais tarde a mudança é feita, mais caro se torna)
-O trablaho do engenheiro de software termina com o software sendo colocado em uso. (Software é tudo aquilo que processa, muda, e gera dados. Existe a manutenção posterior )
-Não ha determinar a qualidade do programa ao longo do seu desenvolvimento
-O programa em funciponamento é a unica produto a ser entregue. (A documentação é parte integrante do produto , bem como modelos testes, planos etc)
-A documentação atrasa o desenvolvimento do projeto (So se estipular o tempo de desenvolvimento se inclui a documentação )
VERDADE
nao ha verdades