Object-Oriented and Classical Software Engineering: Stephen R. Schach
Object-Oriented and Classical Software Engineering: Stephen R. Schach
Object-Oriented and
Classical Software
Engineering
Eighth Edition, WCB/McGraw-Hill, 2011
Stephen R. Schach
EMERGING
TECHNOLOGIES
Aspect-oriented technology
Model-driven technology
Component-based technology
Service-oriented technology
Comparison of service-oriented and
component-based technology
Social computing
Web engineering
Cloud technology
Web 3.0
Computer security
Model checking
Present and future
Figure 18.1(a)
A change to the audit trail mechanism requires all
six pieces of audit trail code to be consistently
changed
Figure 18.1(b)
Figure 18.2
1. The functionality of the desired software
product is specified by means of a platform-
independent model (PIM)
– This is done using UML, or an appropriate domain-
specific language
MDA
– Totally decouples functionality from implementation, and
– Thereby provides a powerful mechanism for achieving
portability
Result:
– Product automation
Unstable requirements
Wide range of user skills
No opportunity to train users
Varied content
Exceedingly short maintenance turnaround times
The human–user interface is of prime importance
Diverse runtime environments
Stringent privacy and security requirements
Accessibility through multiple devices
Claim:
– “Given a choice between dancing pigs and security,
users will pick dancing pigs every time”
– Dancing pigs problem
Model checking
– Use temporal logic to specify a software product that is
intended to run without stopping
– Realize the temporal logic specification as a finite state
machine
– Then determine the properties of that finite state
machine
– So, only in the future will we know what the future will
bring