SlideServe
Menu
Préférences
© SlideServe · v2026

Software Design

zeroun avatar
21 diapositives · 372 Views · Oct 23, 2014

Software Design. From Requirements to Implementation. Concepts. process the stages of design strategies how to go about it quality some traditional measures. Design Process. understand activities, resources and products top-down or bottom-up? methods

Software Design - slide 1
01 / 21Software Design
1 / 17

Télécharger la présentation

Software Design
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Software Design From Requirements to Implementation

  2. Concepts • process • the stages of design • strategies • how to go about it • quality • some traditional measures

  3. Design Process • understand • activities, resources and products • top-down or bottom-up? • methods • sd, sa, jsd [data flow, entity-relation, structure] • oo [inheritance, structure, use] • description • graphical, pdl, text

  4. Strategies • functional • function driven • data driven • object-oriented

  5. Quality • cohesion • measure of how related the components are • objective: high(-ish) cohesion • coupling • measure of strength of interconnections • objective: low(-ish) coupling • understandability • adaptability

  6. Architectural Design Deciding on the major sub-systems and how they fit together

  7. Architectural Design • introduction • system structuring • control • sub-system decomposition • domains

  8. Models of Systems Structure • Repository: Sub-systems must exchange information. All shared data is in a central database (repository) OR Easch subsytem has its own dB with message-passing between them to ensure consistency • client-server: • abstract machine

  9. Repository • centralised storage • no copies - ‘efficient’ • single data structure • clear data model - simple • clear data sharing - good integration • centralised house-keeping • backups, security, recovery from error, etc • management information systems, CAD

  10. Problems with Repository Model • large rigid data structures • compromise between demands of sub-systems • difficulty with adding new sub-systems • difficulty with system evolution • rigid house-keeping policies • sub-systems may require different policies • integrity problems if distributed • possible redundancy and inconsistency

  11. Client-Server Model • client • server (local data structures and operations) • network • advantages • distributed data and operations • ease of expansion • concurrent access • clients may use more than one server • servers may be dealing with more than one client

  12. Problems with Client-Server Model • getting information on available servers (see internet) • difficulties with new servers • no shared data model • may need changes in other sub-systems • all servers must do house-keeping

  13. Abstract Machine Model • similar to the model for operating systems • layered virtual machines from hardware to application (applications also layered) • each layer dependent on the next lower only • incremental development • adaptable • portable

  14. Problems with Abstract Machine Model • inherent difficulty • all layers require basic, usually o/s, services • layers may be not just on next lower • performance • layer management overhead • may lead to direct access to lower layers

  15. Control Models • centralised • call-return (sequential systems) • manager (concurrent systems) • event-driven • broadcast • interrupt

  16. Broadcast Model • sub-systems ‘register’ interest in events • sub-systems generate events • event handler sends events to registered servers • also inter-sub-system communication • distributed systems • easy evolution

  17. Problems with Broadcast Model • uncertainty about event handling • is there a server? • is there more than one server? • how long will it take?

  18. Interrupt Model • used mainly, but not exclusively, for (hard) real time systems • a handler in memory for each interrupt event • (usually) a fixed number of interrupts • reliably quick response

  19. Problems with Interrupt Model • programming difficulties • validation difficulties • (hardware) limited number of interrupts

  20. Sub-System Decomposition • functional or object-oriented (+ others) • delay decisions about sequential or concurrent systems • weeks 4 & 6

  21. Summary • concepts • process, strategy, quality • architectural design • division into sub-systems • use a model or combination of models