Remarks%20on%20Software%20Design - PowerPoint PPT Presentation

About This Presentation
Title:

Remarks%20on%20Software%20Design

Description:

As a designer, you need to find the concerns. that are most important and have most impact ... www.clothes.com/ domain name. mens/ subdirectory name. shirts ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 54
Provided by: andrvan
Category:

less

Transcript and Presenter's Notes

Title: Remarks%20on%20Software%20Design


1
Remarks onSoftware Design
2
Todays Lecture
  • System design and implementation design
  • System design

3
Informatics 43 View
  • Architecture design
  • high-level partitioning of a software system into
    separate modules (components)
  • focus on the interactions among parts
    (connections)
  • focus on structural properties (architecture)
  • How does it all fit together?
  • Module design
  • detailed design of a component
  • focus on the internals of a component
  • focus on computational properties
  • How does it work?

4
Informatics 121 View
  • System design
  • describes what the software system should do
  • focus towards addressing Goal and Domain of Use
  • How do we fundamentally approach the problem?
  • typically represents an intermediate design in
    progress
  • architecture design can be part of system design
  • Implementation design
  • describes what the implementer should do
  • focus towards addressing Domain of Materials
  • How do we make the approach reality?
  • typically represents a final completed design
  • module design can be part of implementation design

5
Definitions
  • A system design captures the essence of the
    solution
  • customers
  • system designers themselves
  • implementation designers
  • testers
  • An implementation design captures the full
    solution
  • system designers
  • implementation designers themselves
  • programmers
  • testers

6
Design Diamond
Domain of Materials
Implementation Design
Representation
System Design
Activity
Ideas
concern
manipulates
informs
Goal
captures
enhances
7
Design Diamond
Domain of Materials
Representation
System Design
Activity
Ideas
concern
manipulates
informs
Goal
captures
enhances
8
Traditional View of System Design
SystemDesign
architecture
9
Traditional View of System Design
SystemDesign
architecture
or...
10
Traditional View of System Design
SystemDesign
Statecharts
11
Traditional View of System Design
SystemDesign
Statecharts
or...
12
Traditional View of System Design
UML
SystemDesign
13
Traditional View of System Design
UML
SystemDesign
or...
14
Traditional View of System Design
SystemDesign
Data Flow Diagrams
15
Traditional View of System Design
SystemDesign
Data Flow Diagrams
or...
16
Traditional View of System Design
SystemDesign
Data Flow Diagrams
etc., etc., etc.
17
Informatics 121 View of System Design
Booch

pi calculus
informal drawing
UML
SystemDesign
pseudo code
architecture
text
code
data flow diagrams
JSD
Statecharts
any and all as needed
18
Design Concerns
  • A typical design problem consists of many
    different concerns that must all be addressed by
    a design solution
  • Some of these concerns are more important and/or
    have more impact than others
  • I want my e-commerce site to have a recognizable
    logo versus My e-commerce site must scale to 1
    million hits per minute
  • Sometimes, the importance and/or impact of a
    concern is not obvious (the devil is in the
    details)
  • I want my payroll software to properly handle
    the exchange rate

As a designer, you need to find the concernsthat
are most important and have most impact
19
Design Depth
  • Some concerns need to be designed in much greater
    depth than others
  • call control sequence of a cell phone versus the
    menu input mechanism of that same cell phone
  • This depth relates to
  • importance
  • impact
  • audience
  • This depth usually requires a rationale

As a designer, you need to work out each
concernto the appropriate level of depth needed
20
Design Depth
Concern 1
Concern 2
Concern 3
Concern 4
Concern 5
Concern 6

System A
21
Design Depth
Concern 11
Concern 12
Concern 13
Concern 14
Concern 15
Concern 16

System B
22
Design Depth
Concern 21
Concern 22
Concern 23
Concern 24
Concern 25
Concern 26

System C
23
The Essence of a Design Solution Where?
  • Structure
  • Context
  • Communication
  • User interface
  • Persistence
  • Algorithms
  • Naming
  • Interchange
  • Internal data structures
  • Error handling
  • Distribution
  • Glue

24
The Essence of a Design Solution Where?
  • Often, the essence is located in multiple places,
    related or unrelated
  • internal data structures and persistence
  • communication and protocols
  • user interface, persistence, and internal data
    structure
  • The essence usually constitutes a nucleus of
    concerns of high importance and high impact
  • The essence needs to be detailed at an
    appropriate depth
  • The essence needs to be captured in one or more
    appropriate design notations

25
Structure
  • Why may the essence be found here?
  • what if the design concerns a distributed
    application?
  • what if the design concerns a highly scalable
    application?
  • what if the design concerns a business
    application with highly changeable business
    rules?
  • What may be a good design notation?
  • software architecture
  • UML2 component diagrams
  • simple drawings

26
Structure Examples
27
Architecture Examples
28
Context
  • Why may the essence be found here?
  • what if the design concerns an integrated system
    constituting many existing systems?
  • what if the design concerns an application that
    will automate a significant portion of an
    organizations business?
  • what if the design concerns an application
    spanning multiple businesses?
  • What may be a good design notation?
  • context diagrams
  • informal drawings of external entities

29
Context Examples
30
Context Examples
31
Communication
  • Why may the essence be found here?
  • what if the design concerns a sensor network
    consisting of many different sensors emitting
    much different data?
  • what if the design concerns network quality of
    service?
  • what if the design concerns a broadcasting
    satellite?
  • what if the design concerns a document-centric
    system?
  • What may be a good design notation?
  • labeled transition systems
  • UML sequence diagrams
  • data flow diagrams
  • protocols

32
Communication Examples
33
Communication Examples
34
Communication Examples
35
User Interface
  • Why may the essence be found here?
  • what if the design concerns real-time
    visualization?
  • what if the design concerns multiple kinds of
    displays?
  • what if the design concerns a drawing program?
  • what if the design concerns a new interaction
    mechanism?
  • what if the design concerns an e-commerce system?
  • What may be a good design notation?
  • sketches
  • mock-ups
  • interaction scenarios
  • prototypes

36
User Interface Examples
37
User Interface Examples
38
Persistence
  • Why may the essence be found here?
  • what if the design concerns a database
    application?
  • what if the design concerns a system that must be
    fail safe?
  • what if the design concerns an application that
    must span multiple sessions?
  • What may be a good design notation?
  • entity-relationship diagram
  • file format definition
  • UML class diagram
  • database schema

39
Persistence Examples
40
Persistence Examples
41
Algorithms
  • Why may the essence be found here?
  • what if the design concerns a search engine?
  • what if the design concerns encryption?
  • what if the design concerns a scheduling tool?
  • what if the design concerns a file converter?
  • What may be a good design notation?
  • pseudo code
  • flow chart
  • Petri net

42
Algorithms Examples
public boolean moveRobot (Robot aRobot)    
//IF robot has no obstacle in front THEN        
// Call Move robot         // Add the move
command to the command history         // RETURN
true     //ELSE         // RETURN false without
moving the robot     //END IF
43
Algorithms Examples
44
Algorithms Examples
45
Naming
  • Why may the essence be found here?
  • what if the design concerns a distributed system?
  • what if the design concerns replicated data?
  • what if the design concerns a complex set of
    interrelated data items?
  • What may be a good design notation?
  • examples and counterexamples
  • regular expressions

46
Naming Examples
http//www.clothes.com/mens/shirts/formal.html
http protocol // separators
www.clothes.com/ domain name mens/
subdirectory name shirts/ subdirectory
name formal.html document name (Web page)
47
Naming Examples
D/eclipse/edu/uci/isr/palantir/core/PalantirPlugi
n1.2.80c318ce.109c2515402.f96511d31371ce2.0nu
ll artifactID filenameVIDwsIDparentID par
entID artifactID null VID 0-9. wsID
a-b0-9. filename ltltcontinue with regular
expression for pathnamesgtgt
48
Interchange
  • Why may the essence be found here?
  • what if the design concerns a manufacturers
    supply chain management system?
  • what if the design concerns a credit report
    system?
  • what if the design concerns an airline booking
    system?
  • What may be a good design notation?
  • ontology
  • data declarations
  • application programmer interface

49
Interchange Examples
50
Interchange Examples
51
The Essence of a Design Solution Where?
  • Structure
  • Context
  • Communication
  • User interface
  • Persistence
  • Algorithms
  • Naming
  • Interchange
  • Internal data structures
  • Error handling
  • Distribution
  • Glue

52
Informatics 121 View of System Design
Booch

pi calculus
informal drawing
UML
SystemDesign
pseudo code
architecture
text
code
data flow diagrams
JSD
Statecharts
any and all as needed
53
Pocket Guide to System Design
  • Consider your goals and identify key issues
  • what is at the heart of the system?
  • what do people (including you) need to understand
    about this system?
  • Choose design notations that will help you
    explain these issues
  • what depth of understanding is needed?
  • what does your audience already know?
  • Remember to reflect on these representations as
    you progress
  • you will not have all the answers up front
    change course as needed
Write a Comment
User Comments (0)
About PowerShow.com