110 likes | 429 Views
Chapter 4. The Future of Software. Evolution of Software Production. Phase I: A Craft Industry Phase II: Power Tools & Engineering Methods (I-CASE) Phase III: Mass Production (repositories)
E N D
Chapter 4 The Future of Software
Evolution of Software Production • Phase I: A Craft Industry • Phase II: Power Tools & Engineering Methods (I-CASE) • Phase III: Mass Production (repositories) • Phase IV: Robot Production (standard repositories, repository coordinator, intelligent enterprise models expressing business rules, expert systems)
Open standards for repositories • A repository defined in terms of its object types • Repository services verifying the consistency and integrity of info. • Version control for multiple versions of objects • Tool services for defining objects and the tools that created them
Open standards (cont’d) • Standard formats for object requests and response • Standard GUI for similar look & feel and ease of use • Workstation services (multi-level platform) • Full use of existing open system standards
Desirable characteristics of future software • Built from components from many companies. • Components have OO with encapsulation and polymorphism • OO components licensed (and controlled) • Open standards • Components should reside in a standard repository.
Desirable (cont’d) • Repository coordinator • All development repository based • Licensed software components have OO descriptions • Software generated from rules, templates and repository-based classes • Code is generated
Desirable (cont’d) • Design independent of platform • Platform independence with multiple • host machines • operating systems • storage subsystems • DBMS • network architectures • LAN managers • GUI’s
Desirable (cont’d) • Standard protocol for object interaction • Protocols to allow interprocess, interhost and networked interaction. • Protocols for portability • Multimedia platform support • Maximized use of GUI • Support for highly parallel processors
Desirable (cont’d) • Code generated directly from specifications • Specification techniques which improve conceptual clarity • Methods based on mathematical precision, where possible • Maximum use of visual techniques in design and programming
Desirable (cont’d) • Fast, iterative prototyping • Expert systems support for developers • Comprehensive cataloging of components • Network delivery of components • Enterprise models based on OO techniques • Enterprise models used as a source for code generation
Desirable (cont’d) • Seamless and automated progression from specifications to code • End user creation and validation of high-level specification • AND WE THOUGHT THERE WAS NOTHING LEFT TO DO!