uml note
Object Oriented Technique Summarize
- background
a) Crisis of Software (20C60S)
- i. long term
- ii. expensive
- iii. low efficiency of development& hard to guarantee the qualify
- iv. complexity
b) Software Engineering (Management& technique)
- i. NATO (North Atlantic Treaty Organization) addressed it firstly 1968
- ii. get rid of Software Crisis
c) Differences Between Software and Hardware
- i. different forms
- ii. different producing ways
- iii. different needs
- iv. different maintaining methods
d) The reason that caused the complexity and difficulty in developing software is the attributes belong to software itself. The complexity is always with software, its part of it.
e) Why Software is complex
- i. the compute structure (Von Neumann) nowadays
- ii. software developing need intelligence, its hard to describe the essential regular or attributes
- iii. the interaction between each element in software system could be irregular and random.
- iv. need could be changed during the software life circle
- v. have to adjust to different hardware environments during software life circle (especially the large-scale ones)
f) Method to Control the Software Complexity
- i. decompose
- ii. abstract
- iii. module
- iv. information hiding (packaging)
- Basic Ideology of OO
a) Dividing the question domain naturally to build question-domain-model in a way which is closer to human thinking, to make designed software could reflex on real world more directly, be more maintainable and adapt to user needs changing.
b) Object world are combined of objects. Anything can be object, each object has its own inner state and rules, different object contact each other using Message.