270 likes | 457 Views
Software engineering models, methods and tools for “post-crisis" lifecycle management. Dr. Sergey V. Zykov , Ph.D. State University – Higher School of Economics. The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia.
E N D
Software engineering models, methods and tools for “post-crisis" lifecycle management Dr. Sergey V. Zykov, Ph.D. State University – Higher School of Economics The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Heterogeneous ESE: a challenge, esp. under the crisis • The methodology combines formal models (incl. modified spiral model) and SDK for class-level association-based relationships • Problem domain features: • heavy data burden - in 2005 total data size of Intel Corp. exceeded 3.2 petabytes (over 120,000 employees in 57 countries) • - high object classes complexity • - incomplete information on the structure of certain instantiations of the classes; • - the set of class attributes and operations can be determined rigorously. • Reasons for methodology application (besides crisis): • - variety of heterogeneous classes, • - importance of association-based inter-class relationships • - class inference possible even under certain % of weak-structured class instances The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Software production crisis and SE era advent • 1960-s: the software production crisis begins • Problems/Disproportions: • - anarchic SDL vs. growing system complexity • - no SDL methodologies (except“build-and fix” approach) • - the crisis is in our minds, not just in economics • - an adequate (R&D-based, adaptive) SDL methodology required! • SE – thesci-&-tech discipline to overcome the crisis • SE development stages: • - 1960-s: “hand-made” art – unique and precious masterpieces • - 1970-s: “manufacturing” – mission-critical systems • - 1990-s: “machine-tool conveyor” – CASE + team development The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Comparing SDL and material production • 1967 - The NATO Conference on SE • Q.: Can SW be constructed/produced as a physical/material object? • Analysis: • - step-by-step elaboration • -maintenance (bridges may cost $0for years, not SW) • - “intellectual degeneration” (complex SW platforms change fast) • - prototype reliability • - “brute force” / “bulletproof “ approach (a bridge twice thicker) • - residual faults (NASA flight simulation) • Conclusions: • - SW production is similar to material one in certain aspects • - SW production is entirely different from material one in others • A.: NO, Lifecycles are fundamentally different The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Optimizing lifecycle: the answer to the crisis • Every SSDL stage can be optimized (analysis, req.spec., design, implementation, maintenance, etc.) • Documenting should be optimized as well • Optimization basis = models + methods + tools integration: • - discrete metrics (residual faults, KLOC, etc.) + heuristics • - practical applicability vs. mathematically “single-best” solution • SSDL model basic features: • - iterative nature • - sequential elaboration • - incremental development • - risk analysis • - modified incremental/spiral model • - best applicable for enterprise-level projects (CASE + risks) The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management The methodology vs. ontology-based approaches (OBA): • OBA (e.g. Cyc) efficiency is comparable only under a total class-level uncertainty, which is a different problem domain than ECM • Thesaurus needed for the OBA to meet the relevance required • The methodology uses similar foundations and tools as OBA (UML and XML-based tools, predicate calculus-based CycL, “conceptual model” etc.) for data modelling and integration • OBA lack a balanced combination of formal models and industry-level SDKs (incl. visualization) for ECM lifecycle, resulting in low scalability and non-suitability for the major enterprise-level tasks The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Objective, tasks, theoretical background Objective:to make a software development methodology, which supports entire lifecycle of the enterprise software in the global computational environment Tasks: - formalizing stages and levels of the methodology; - mathematical modeling; - creating CASE- and RAD-tools ; - implementing the methodology (prototype, full-scale). Background: finite sequence, category, computation (D.Scott), semantic networks. The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Innovations –the integrate methodology includes : • a set of data models for problem domain objects and for computational environment (CM, AMCM); • algorithm of the new component integration into the software implemented; • personalization procedure for enterprise content access; • SDKs: ConceptModeller, Content Management System The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management EDW problems solved by the methodology The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Enterprise software lifecycle support by the methodology Software engineering models, methods and tools for “post-crisis" lifecycle management The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia 10
Software engineering models, methods and tools for “post-crisis" lifecycle management Problem domain modeling Data object modeling: “classobjectvalue” Class– collection of data objects of the integrated problem domain; Object– class instantiation by CMS template (metadata partial evaluation); Value– static HTML page generated by CMS (full evaluation). Benefits: - evolves from the object-oriented approach; - develops the existing models ([V.E.Wolfengagen’sCM] et al.) in relation to global computational environment The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
a 2 Class ( UML ) a 1 Object ( CMS ) Photo -Name : char -ColorDepth : int -Resolution : int -ID : long -Width : int -Height : int -TemplMask : long double Value ( portal ) Software engineering models, methods and tools for “post-crisis" lifecycle management From problem domain to computational environment The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Formal syntax of the CMS abstract machine • Let us collect all the CMS abstract machine language identifiers into Ide domain, commands –into Com domain, and expressions – into Exp domain: • Ide ={I | I – identifier}; • Com ={C | C – command}; • Exp ={E | E – expression}. The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Formal semantics of the CMS abstract machine (1) Order of construction: • standard domains (most often used); • finitedomains (including explicitly enumerable elements); • domain constructors – operations of building new domains out of existing ones; • composite domain formalization based on standard domains and domain constructors. Domain constructors: - functional space: [D1D2]; - Cartesian product: [D1D2…Dn]; - sequence: D*; - disjunctive sum:[D1+ D2+… +Dn]. The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Bi-directional software development in ConceptModeller CASE-toolkit FORMAL LANGUAGE FORMAL LANGUAGE FRAME NATURAL FORMAL LANGUAGE OF FRAME OF DIAGRAMS TRANSLATION OF DIAGRAMS LANGUAGE DESCRIPTION (IBM RATIONAL / INTO UML DIAGRAMS (XML / RATIONAL) (XML) MS VISIO) VISUALIZATION VISUALIZATION FORMALIZATION TRANSLATION Mapping Business situations Business situations Visual frame function from UML diagrams in terms of in terms of representation frames to UML visualization UML diagrams natural language diagrams IBM RATIONAL, C#.NET C#.NET C#.NET ORACLE DEVELOPER, MS VISUAL STUDIO The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
в Software engineering models, methods and tools for “post-crisis" lifecycle management Software Solution Arcitecture The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management CMS logical structure The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Structure of the integrated enterprise program system The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Comparing the software development methodology to the commercial methodologies available Mathematical model Methodology Integrated methodology The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Implementation features comparison Software Integration with legacy information systems Integrated ERP information system reports Multi-language publication Smart, template-based design Complex data object embedding UML diagrams WYSIWYG-mapping Java servlets .NET web services ITERA CMS The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management /person TCO comparison results CMS + ConceptModeller The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management , yrs ROI comparison results CMS + ConceptModeller The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Optimistic scenario Pessimisticscenario Implementation terms comparison results CMS + ConceptModeller The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Theoretical results: 1) A system of formal models for problem domain and computational environment (rigorous semantics, entire lifecycle support, content management orientation); 2) Algorithm of integrating new components to the enterprise software system (problem-oriented, heterogeneous software architecture support); 3) personalization procedure for accessing enterprise content (flexible, reliable) The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Engineering results: 1) CASE- and RAD-toolkits: a)ConceptModeller (rigorous semantics;compatible toup-to-date CASE-tools, ERPand и legacy systems;re-engineering;XML/BPR/UML standard support); b) ITERA CMS (rigorous semantics;rapid publishing of complex content;WYSIWYG interface;office products integration). 2) Architecture (environment unification of heterogeneous enterprise applications; role personalization with situation dynamics) The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Practical value of the results obtained: 1) implementation term-and-cost reduction (TCO, ROI) as compared to commercially available software by 30% (average); 2) major enterprise software features improvement: - scalability; - reliability; - ergonomics. The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia
Software engineering models, methods and tools for “post-crisis" lifecycle management Research results approbation: Over 30 presentations on international conferences, 4 books and over 50 papers Research grants: MSR(2002-2003), RFBR (1996-2006) and HSE (2008-2012). ITERA implementation (150 companies, 10,000 employees): CMS (2002); Internet-portal (2003); Intranet-portal (2004) Other implementations: ICP(RAS), Sterkh Foundation, Ashihara Karate Association, Russian Orthodox Church, etc. Curricula (MSR, HSE, MEPhI, MIPT, MSUFI, INTUIT, LANIT, SoftLine, TEKAMA, CareerLab) – over 3000 graduates The 3d Conference on Information Technologies in Professional Activities (ITPA) November 8–12, 2011, Izhevsk, Russia