nov 1ro, jueves 2018... · 2020-03-04 · alta cohesión funcional bajo acoplamiento pocas...
Post on 17-Apr-2020
2 Views
Preview:
TRANSCRIPT
Nov1ro,Jueves
Prof. Esp. Ing. José María Sola 243
Agendaparaestaclase� Módulos� CasodeEstudio:UndodeunCli
Prof. Esp. Ing. José María Sola 244
MódulosenC++yAnalogíaconCélulas
Prof. Esp. Ing. José María Sola 246
Interfaz Pública
Imple- mentación
Privada
Módulo.h
Módulo.cpp
Sistema Célula Módulo C++ • Sistemas
abiertos • Interfaces • Parte
pública • Parte
privada • Relaciones
con otros sistemas
• Membrana celular
• Pasaje de información através proteínas de transporte en
• Núcleo con estructura interna privada
• Interfaz, contrato,
• Invocaciones • Envío de
mensajes • Estado • Comportamiento • Elementos
privados
• .h (Membrana) • Tipos públicos • Prototipos públicos • Obejtos públicos
• .cpp (Núcleo) • Estructura de datos privada • Método (i.e., forma de responder
el mensaje) privado • Objetos, Tipos y Funciones
auxiliares
� Sistemas� Conjuntodeelementosrelacionadosconunbjetivoencomún
� Jerarquía:SistemasySubssitemas
� Programa� Conjuntodemódulosrelacionadosentresíconunobjetivoencomún
� Jerarquía
� C++� Relacióndenotataporincludes
� Includequeimporta� "Dependede"
� Includequeexporta� "Implementa"
DependenciasentreMódulos
� AltaCohesión� Funcional
� BajoAcoplamiento� Pocasdependencias� Depedenciasobreabstracciones,nosobreimplementaciones
� https://thebojan.ninja/2015/04/08/high-cohesion-loose-coupling
� OcultamientodeInformación� Queelclientenonecesiteconocerlosdetallesdelaimplementaciónparausarlaabstracción
� Encapsulamiento� Bloquearalclienteelaccesoalosdetallesdelaimplementación� Keywordstaticparacerrarlos
porosdelamembrana� Forwarddeclarationpara
punterosaobjetosconestructuradesconocida
AtributosdeCalidaddeMódulos
Prof. Esp. Ing. José María Sola 248
CasodeEstudio
$ cli > comando1 comando1 > comando2 comando2 > comando3 comando3 > undo comando3 undone > comando4 comando4 > undo comando4 undone > undo comando2 undone > undo comando1 undone > undo No hay nada para deshacer > quit Bye! $
� Comandos� Echo� Undo� Quit
� Diseño� DiseñarMódulos� DiseñarInterfaces� DiseñarRelaciones
� Backlogdefeatures� ComandosCaseinsensitive� ComandoRedo� ComandoRepeat/DoOver� Historialdecomandosentresesiones
� Save� Load
� Evaluacióndeexpresiónennotaciónpolacainversa
� Evaluacióndeexpresionesennotacióninfija
� Variables
Cli–UsoyDiseño
Prof. Esp. Ing. José María Sola 250
SistemadeMódulosyDependencias–Células
� ¿Agregaríaoremoveríaalgúnmódulo?¿Cuál?¿Porqué?
InterfaceseImplementaciones� ¿AnalicetheStack?� ¿Quées?� ¿Cuálessu
tipo?
� ¿Quéotromóduloagregaríayporqué?
StructureChart–CartaEstructurada
� ¿Porquénoestánnicoutnicin?
top related