220 likes | 237 Views
Learn about the characterization of enterprise software systems, trends impacting enterprise systems, frameworks for software engineering, and more. Narrated by Dr. Rajiv Ramnath from The Ohio State University.
E N D
How to hear this lecture Click on the icon: to hear the narration for each slide. Partnership for Performance
fisher.osu.edu Fisher logo CSE 757 Software Engineering Introduction Narrated by: Dr. Rajiv Ramnath Director Collaborative for Enterprise Transformation and Innovation (CETI) Department of Computer Science and Engineering, College of Engineering The Ohio State University Ramnath.6@osu.edu http://www.ceti.cse.ohio-state.edu Partnership for Performance Partnership for Performance
Course Learning Outcomes • Be familiar with the characterization of enterprise software systems. • Be exposed to the trends impacting enterprise systems • Be exposed to the need for frameworks for software engineering • Be familiar with frameworks for analyzing the business context of enterprise IT systems, the concept of Business-IT alignment and related issues, and Enterprise Architecture. • Be competent with structured and agile software engineering frameworks; specifically structured and agile software engineering methodologies for requirements identification, analysis, architecture, design, testing, deployment and project management Partnership for Performance
What are Frameworks? • Definition: • Representations, principles and techniques capable of illustrating and guiding practice and measuring performance, i.e. to define and frame the complex problems encountered, as well as to define and evaluate solutions to these problems. • Examples: • Equations of motion help us understand and predict the motion of physical bodies. Hence these make up a framework. • A company balance sheet is a framework for understanding how a business is performing
How we will measure learning • Kirkpatrick’s 4 Levels of learning • Level 1 – Reactions. Evaluation: • Class participation • SEI • Level 2 – Recall. Evaluation: • Quizzes, midterm and final • Level 3 – Application. Evaluation: • Projects in CSE 757, CSE 758 (and other Capstones) • Level 4 – Transfer. Evaluation: • Projects in CSE 758 (and other Capstones) • In professional practice Partnership for Performance
My Perspective – An Industry Background • 12 years of life-cycle experience in workflow, work-management, B2B enterprise technology: • Program management of federal consortium funded R&D of standards-based enterprise and internet technology. • Specifications and pilot implementations leading to WfMC and OMG standards. • Transition of R&D to commercial product, with development partners. • As part of the product lifecycle, working with and establishing technologies and standards - J2EE, CORBA, COM+, XML, RDBMS, mainframe integration products, web technologies. • Consulting and deployments in Fortune 500 companies (CAT, Raytheon, LM, WAMU, MCI) • Business Experience: • Small and large company business experience – M&A, VC, spin-off, competitive positioning. • Software engineering, enterprise architecture practice and education: • Internal establishment of software engineering practices. • Globally distributed project teams. • Internal, undergraduate and graduate courses • Industry-university projects Partnership for Performance
Enterprise Technology Landscape • Browsers, desktop applications, terminals • Technology for the business logic layers • Integration technologies • Technology to access databases and data sources • Management suites • Hardware: • Networking infrastructure • Servers with native operating systems
Example Technologies • Structured data: XML • User interface: HTML, Flash, JavaScript • Rich client technologies: AJAX, Flex • Technologies for the server layers – Servlets, Java Server Pages, Java Server Faces • Object-relational mapping (ORM). EJBs and other technologies • External connections: Web Services • Internal Enterprise Integration: the Enterprise Service Bus • Legacy integration technologies • Parallel computation: Grid computing • Mobile computing: PDA, Cellphones • Edge computing: RFID, WSN
Enterprise Computing is Distributed Computing • Primary reason: Problem is inherently distributed • Physical separation of people • Customers, employees, field agents, students, … • Distributed command and control • Battlefield logistics, avionics, disaster response, … • Geographic distribution of data • Napster, Akamai, Google, … • Integration of legacy systems • Access old software on old platforms with new clients
Enterprise Computing is Distributed Computing • Secondary reason: Harness unused computation cycles • “Every minute, all over the world, thousands of waves are being wasted…” (Endless Summer) • Really the realm of parallel computing • Problem has a sequential specification but a parallel solution • Weather prediction, scientific computation, complex simulation, graphics rendering, … • Technologies: Parallelizing compilers, SMPs, Cluster computing, Grid computing,…
Technical Challenges • Heterogeneity • Hardware, Operating system, implementation languages • Transaction management • State management • Partial Failures • Local failures, need for global resilience and recovery • Concurrency • Action interleaving and interference • Integration Compatibility & Correctness • When/how can a component be used? • Security • Intrusion prevention/detection/repair; privacy • Loosely coupled and separate authorization domains • Integrated Management
Are Challenges Solved With The Newer Technologies? • Dominant trend: Loose coupling • Makes challenges harder, not easier! • Heterogeneity is directly addressed • Partial failures are more common • Concurrency is harder to control • Integration is more unreliable • Security is more difficult
What Must Enterprise Systems Now Support: Growing Services Economy … • “The future of ATMs and self-service terminals lies in multitasking – going from dispensing only cash to selling theater tickets, renewing driver’s licenses and offering other services” ..The Journal Gazette, May 2007 • Content and Delivery - Wikis, What’s next? • Software as Service (SaaS) • “This new breed of specialized firms fully embrace SaaS with complementary business and technology consulting, productized intellectual property, and support services via flexible social networks …” (Chris Barbin, CEO Appirio - http://www.sandhill.com/opinion/editorial_print.php?id=129.) • Flexible internal and external service networks: • Exposing and monetizing internal services • Outsourcing internal services
Trend: Variation Non-Routine Requests Adaptive Complex Enterprise (ACE) Uncertainty and competitive pressures Increasing complexity Requirements uncertainty Routine Requests Large number of request types Industrial Age Non-routine processing Demand unknown Small number of request types Project management uncertain Routine processing Process flow uncertain Demand known Transaction type unknown Process flow known Required capabilities unknown Required capabilities known Transaction sequencing unknown Availability of capabilities known Availability of capabilities unknown Virtualization & delayed binding Embrace variation
Trend: Innovation around Services • Environmental Trends … • Globalization • The removal of “friction” • Uniform quality of most “products” manufactured anywhere • Outsourcing of almost anything • Global movement up Maslow’s Hierarchy of Needs • Have Created the Need for Service Innovation: • Beyond operational excellence • Not product innovation but service innovation • Characteristics of Services: • High variation among transactions • Continued negotiation during service delivery • Little cost amortization • Oscillation around satisfaction • High touch requirement • Decisions made on secondary factors – opinion, trust and relationships • Must be delivered at the point of the need • Local presence is an advantage Partnership for Performance
Problem: IT Complexity Inhibits Service Agility • Many-to-many relationships between strategies, business services, IT services, IT components Actual application architecture for consumer electronics company (IBM)
Problem: Cultural Challenges: Devaluing Information Technology • “IT Doesn’t Matter” - The commoditization and universal availability of technology • The drive for Business-IT “Alignment” • Treatment of IT organizations as cost centers • IT outsourcing decisions based primarily on cost • Discussions of the IT “personality” (CACM April 2006): • Stereotype #1: The "High Maintenance" IT Professional • Stereotype #2: The "Older, Static" IT Professional • Stereotype #3: The "Technology Anchored" IT Professional Partnership for Performance
Challenge: Business Focus on Operational Stability and Cost Savings • TCS Keynote (at SEPE Symposum, TRDDC, 12/13/05 - Evolving IT from "Running the Business" to "Changing the Business“ • … it has become important for a software project's success to be measured on schedule; quality; and cost — the three pillars of delivery excellence ... Process Improvement Efforts: ITIL, Six Sigma Centralization and Consolidation of the IT Function Standardization Focus on Governance … So, how does IT stay important? Partnership for Performance
The CSE 757 agenda: • Study frameworks for: • Business analysis • Alignment of IT with the business • Requirements elicitation • Domain, problem and solution analysis • Software project management • Software architecture • Software design • Software systems deployment and management • Study how to put these frameworks together for achieving system and, hence, business goals Partnership for Performance
Thank you!! Partnership for Performance