Resumo das aulas 10,11 e 12 – Versão 1.0

April 26, 2006

Aula 12

Nesta aula começamos a falar de UML.
O principal assunto foi o Diagrama de Fluxo de Dados. Como foi mais tarde corrigido no blog do professor, o Diagrama de Fluxo de Dados não é uma sub-linguagem da UML. Apesar disso, a aula de DFD seria importante porque era adequada ao contexto: contrapor a visão da linguagem SADT(relacionamentos) com uma visão orientada a fluxo — transformação.
O fluxo de dados é utilizado na UML para descrever o funcionamento interno de uma classe(objeto).
No DFD os processos são as principais entidades, e se relacionam com outros processos e/ou entidades externas através de informações. E os níveis inferiores são criados a partir da subdivisão de cada processo do nível atual.

Aula 11

Nesta aula nos foi apresentado o SADT(Structured Analysis & Design Technique).
Seu criador foi Douglas T. Ross.

SADT é uma técnica para construção de modelos em que cada modelo deve ter um objetivo e um ponto de vista. existem 2 perspectivas de modelos, mas focaremos em apenas uma: Processo(Actigramas)

A outra é a perspectiva de dados(datagrama)

  • Os modelos são construídos segundo o princípio da decomposição, e a decomposição segue a norma de disciplina[3;6]. Essa decomposição se dá em folhas situadas em diferentes níveis. Cada folha contém ações que  possuem uma entrada, um controle, um mecanismo e uma saída.
  • Cada uma destas ações gerará uma nova folha.
  • Cada folha segue a norma 1(título, data, versão, etc..).
  • A primeira folha contém a ação base do modelo, e é nela que devem esta o objetivo e o ponto de vista.

Aula 10

Nesta aula foram apresentadas algumas filosofias para tratar sistemas complexos.
Iniciamos a aula discutindo a TGS(Teoria Geral dos Sistemas), que tem como base a decomposição hierárquica. Ou seja, todo sistema é um subsistema de um maior (parte-de).
Falamos sobre acoplamento forte e fraco, as vantagens e desvantagens de cada um. Também falamos sobre coesão e Information Hiding.
Vimos que objetos tem um relacionamento chamado “é-um”, o que quer dizer que cada objeto novo vem de um objeto mais generico, uma classe da qual ele faça parte. Podemos modelar sistemas como um conjunto de objetos que se comunicam através de mensagens bem determinadas.
Apesar de este modelo parecer bem atrativo,algumas insuficiências apareceram. Sei que foi feita uma crítica na aula sobre OO, e assim chegamos à programação orientada a aspectos, mas não lembro qual foi.

A programação orientada a aspectos ja foi discutida aqui no blog, ela adiciona a preocupação com aspectos à organização por objetos.

Autores: Rodrigo Araújo e Guilherme Heringer

Página 1 de 1

Resumo das aulas 7,8 e 9 – Versão 1.0

April 26, 2006

Aula 9

 Nesta aula revisamos conceitos como o universo de informação e as partes do processo de desenvolvimento de um software.
Vimos também que:

  • A definição do software sempre está relacionada à implantação de outro artefato, que eventualmente pode ainda não estar implantado ou terminado.
  • Diferentes atores do universo de informação podem ter opiniões diferentes sobre constituintes do universo de informações (processo de engenharia de requisitos).
  • Os desenvolvedores de software podem escolher qual o conjunto de métodos, técnicas e ferramentas querem utilizar no processo de produção.

Falamos sobre estratégias para  a aquisição de conhecimento:

  • Entrevistas,
  • Reuniões,
  • Observação,
  • Questionários,
  • Etnografia
  • Análise de Protocolos
  • Participação Ativa dos Clientes e/ou Usuários
  • Reutilização

 Aula 8

Aula do monitor.
Nesta aula nos foi apresentada a linguagem php, que será utilizada no primeiro trabalho da disciplina. Nos foram apresentados os comandos para operações no banco de dados MySQL.
O monitor também falou sobre o CEL e um pouco sobre html.

 Aula 7

Nesta aula, foi discutida a diferença entre um programa estar “correto” ou estar “consistente”.
Algo está consistente quando está montado de acordo com as suas especificações.
Algo está correto quando funciona da maneira desejada.
Uma inconsistência pode ser detectada através de mecanismos, sem a necessidade de um ator, ao passo que um erro não pode ser detectado sem um ator(uma falha pode ser detectada por uma maquina, mas o erro que gerou a falha não).
Um dicionário trata da denotação dos palavras, ou seja, define o que cada palavra pode dizer. Mas ele não trata da conotação das palavras, o que quer dizer que ele pode não mostrar o que certa palavra quer dizer em certo contexto.

Autores: Rodrigo Araújo e Guilherme Heringer

Página 1 de 1

Resumo das aulas 4,5 e 6 – Versão 1.0

April 25, 2006

Aula 6

"Sintonia Fina"

  • Uso de nomes intuitivos para variáveis auxilia na legibilidade do código.
  • Código enxuto e abstrato.
  • Código de fácil leitura auxilia na manutenção.
  • Legibilidade do código
  • Necessidade de normas e padrões dentro do código.
  • Equilíbrio entre economia de espaço economia de Tempo (softmetas).
  • Equelíbrio entre facilidade de escrita e facilidade de leitura.

Aula 5

– Tabela / Árvore de Decisões

  • técnica para uma primeira abordagem no modelo do projeto atravéz do mapeamento de decisões frente as condições apresentadas.
  • permite identificar inconsistências lógicas nas especificações.
  • Frente às inconsistências no modelo, deve haver outra negociação com o cliente.

– Baseline: Base para a definição do projeto. Idealmente permaneceria inalterada, mas na prática é moldada de acordo com a definição (e possíveis redefinições) das necessidades do cliente.  

Aula 4

– Teorema de Bohm e Jacopini: Em 1966 provaram matematicamente ser possível expressar qualquer algorítimo em termos dos três construtos:

  • sequência de declarações
  • seleção
  • iteração (repetição)

É comum chamar programas que utilizam esse mecanismo de Programas Estruturados. Na Programação Estruturada o uso da instrução "goto" torna-se desnecessário, e até condenável. A principal vantagem da Programação Estruturada é um código organizado e mais legível, o que  facilita a manutenção. Donald E. Knuth link – Criou o sistema tipográfico TeX, pioneiro no conceito de programação literária, que depois daria origem ao LateX.

Livro Diário do programador: Ajuda o programador a se organizar, monitorar o desenvolvimento e a antever possíveis erros.

Autores: Rodrigo Araújo e Guilherme Heringer

Página 1 de 1

Resumo das aulas 1,2 e 3

March 17, 2006

Aula 1
-Engenharia de software é a disciplina responsável por orientar o engenheiro no processo de desenho de softwares que estejam dentro de um determinado nível de custo e qualidade, através de métodos, técnicas e ferramentas.
A disciplina é estudada e utilizada por profissionais de computação, ou pesquisada e construída em universidades, e assim ser lecionada.
-Edward Yourdon é o pai da engenharia de software. Mundialmente conhecido como o desenvolvedor do “método Yourdon” de desenho e análise de sistemas estruturados.

Aula 2
– A programação orientada a aspecto nos permite modificar dinâmicamente nosso modelo estático para incluir algum código requerido para satisfazer requerimentos secundários sem termos que modificar o modelo estático original. Uma aplicação desenvolvida orientada a aspecto pode adotar novas características enquanto é desenvolvida.
-V-Graph é um modelo orientado a metas, onde:
 . Metas são objetivos que serão satisfeitos totalmete
 . Softmetas são objetivos que serão satisfeitos parcialmente pelas metas, softmetas e tarefas que contribuem ou estão correlacionadas a esta
 . Tarefas operacionalizam as metas e softmetas.
 Metas,Softmetas e tarefas podem se relacionar através de contribuições e correlações.

 

Aula 3
-A disciplina é fundamental para qualquer artista ou artesão. Assim vimos nos exemplos dados em aula. Todo processo criativo exige algum método, e assim, alguma disciplina está envolvida. Na aula 3 foram estudadas 4 de 6 regras envolvidas na engenharia de software. São elas
 .Todo documento deve ser marcado com título, autoria,data,versão e indicador de conteúdo.
 .Para toda descrição de documentos deve-se haver pré-condições e pós-condições.
 .Ao decompormos algo, o número de partes deve sempre estar entre 3 e 6.
 .Evitar invenção de nomes. 
-Watts Humphrey é uma das dez pessoas mais influentes da área de software. É a maior autoridade do mundo em qualidade de software e melhoria de processo. É autor do livro da “mesa do escritório” de todo engenheiro de software, PSP.

Guilherme Heringer e RodrigoAraújo