OOAD/UML
COMPLEX SYSTEMS::

Attributess of a complex systems:

1. Hirarchy
2.Primitive component is arbitrary
3.Intra component linkages are stronger than inter component linkages
4.complex systems sub systems- in different combination
5.computer system- evoluated from simple system

                                                      Some basic concepts & strategies in the study of systems:

Abstraction: ``We have developed an exceptionally powerful technique for dealing with complexity. We abstract from it. Unable to master the entirety of a complex object, we choose to ignore the inessential details, dealing instead with the generalized, idealized model of the object" Wulf in Shaw, 1981). 
Formality: Rigor at each stage in the development of a system. 

Divide and conquer: Divide a complex problem into a set of simpler problems that can be solved. 

Hierarchical ordering: Order the simplification of the problem in ``divide & conquer" in hierarchies. 

Cohesion & coupling: Modularise the system such that interactions within components (cohesion) is maximised and interactions between components (coupling) is minimised. This way, the impact of errors, when they arise, is localised and does not cascade through the system. Diagnosis of offending components is also made easier. 

Information hiding: Each module (or subsystem) must have available to it just the information that is needed by it. 

Conceptual integrity: Consistency in design. 

Completeness: Ensuring that the design meets all the specifications. 

Logical independence: Emphasis on the statement of system objectives in terms of logical functions independent of physical implementation. 

Correctness & Efficiency: Correct in the sense that the design meets all the user requirements. Efficient in that the system accomplishes the objectives with minimum computing resources.