150 likes | 252 Views
CelsiusTech. A Case Study in Product Line Development. What are the advantages?. Able to design two systems with the manpower of one Later projects took a third of the time Later projects were much more predictable Able to move into new business areas. Old organization.
E N D
CelsiusTech A Case Study in Product Line Development
What are the advantages? • Able to design two systems with the manpower of one • Later projects took a third of the time • Later projects were much more predictable • Able to move into new business areas
Old organization • Mk2.5 Project Family Manager • Command and control • Tracking • Communications • Operator’s console • Base system • Systems integration
New Organization • SS2000 General Program Manager • Architecture team • Product line software development • C3 • HCI • Weapons • Fundamental Services • Customer project management • Integration and CM team
Architectural Views • COOB • Layered architecture • Module decomposition: system functions and function groups • Models?
COOB • Processes that produce a new result do not tell other components directly, but tell the COOB. • Processes that need to know when data changes will register with COOB. • COOB notifies processes when data changes. • Processes communicate using typed messages
Layered Architecture • General applications • Common applications • Fundamentals • Database, Diagnostics, Configuration, etc. • Base System 2000 • OS-2000 • LAN, IPC • Hardware
Layered Architecture • General applications • Target tracking • Fire control • ECM, ASC • Common applications • Ships information • Picture compilations • Fundamentals • Base System 2000
Module Decomposition • System functions – at one layer • System functions group • Any level • Product of single (large) team • About 30 • Has its own requirements document • Main configuration unit
Architectural Qualities • Modifiability • Performance • Reliability, availability and safety • Testability
Modifiability • COOB, layers, function groups • Software written to be location independent • Ada generics • Heavy use of parameterization
Performance • Strict network traffic protocols • Concurrent processes • Location independent processes, can be moved for load balancing • COOB by-passed for high-volume transactions • COOB sends data only when altered
Reliability, Availability and Safety • Redundant LAN • Fault-tolerant software • Ada exceptions • Location independent software • Strict ownership of data – no multi-writer race conditions
Testability • Interfaces with typed messages • Strict data ownership • Semantic coherence of elements • Strong interface definitions
Conclusion • Reuse doesn’t come with the compiler • Reuse requires • Organization • Domain knowledge • Architecture