IN4MATX 43 Chapter Notes - Chapter Reading 13: Javascript, Object Database, Scalability
IN4MATX – 36900 – Intro to Software Engineering
Week 6 – Reading 13 – 7.3.1, 7.3.3
7.3 – Detailed Design
• Architectural design and requirements together make a detailed design
• Development process determines the level of detail
• Some detailed design tasks are still left to be done in implementation phase
7.3.1 – Functional Decomposition
• Functional decomposition is used in structured programming but some ideas are
used in other programming paradigms
o Decompose a function or module into smaller ones
o These smaller ones are composed together to form bigger module
• Use in OO programming
o Used to do initial decomposition of system into modules
▪ Based on functionality
o Or decompose methods that are hard to implement
• Usual process
o Produce module decomp diagrams, represented by rectangles
▪ Includes a numbering system for each module based on level
o Also note that there should be less focus on actual structures but more on
alternatives as well
• Alternatives
o Difficult, complex topic
7.7.3 – Designing for Big Data
• Relational databases are default for most systems
o But aren’t appropriate for all problems
• Alternatives have become popular
o NoSQL “Not Only SQL”
• Systems are organized around a simple key-value store with only one value for a
given key
o Keys are simple and value is just a series of bytes from the databases
perspective
• Most popular implementation now
o Redis; provides a network-accessible key-value store
▪ Allows for storage of different kids of values
• Key-value stores
o Allow for sharding – giving them horizontal scalability
o Allows for scaling horizontally by just adding more servers when higher
capacity is needed
find more resources at oneclass.com
find more resources at oneclass.com