Software Engineering Guest Lecture, University of Toronto



Similar documents
Ideate, Inc. Training Solutions to Give you the Leading Edge

The Canadian Council of Professional Engineers

ni.com/sdr Software Defined Radio

Business Rules-Driven SOA. A Framework for Multi-Tenant Cloud Computing

Agenda. Outsourcing and Globalization in Software Development. Outsourcing. Outsourcing here to stay. Outsourcing Alternatives

3G Security VoIP Wi-Fi IP Telephony Routing/Switching Unified Communications. NetVanta. Business Networking Solutions

On Interoperability Issues of Electronic Signature. Pavol Frič

CREATIVE MARKETING PROJECT 2016

Enhancing Oracle Business Intelligence with cubus EV How users of Oracle BI on Essbase cubes can benefit from cubus outperform EV Analytics (cubus EV)

B.E. COMPUTER SCIENCE AND ENGINEERING (PART-TIME)

Document Control Solutions

Advancement FORUM. CULTIVATING LEADERS IN CASE MANAGEMENT

(VCP-310)

ADAPTIVE NETWORKS SAFETY CONTROL ON FUZZY LOGIC

Safety Requirements engineering and Proof of implementation

IntelliSOURCE Comverge s enterprise software platform provides the foundation for deploying integrated demand management programs.

Supply Chain Management

Optimal control of water supply systems

SOCIAL MEDIA. Keep the conversations going

Harnessing Natural and Human Capital

iprox sensors iprox inductive sensors iprox programming tools ProxView programming software iprox the world s most versatile proximity sensor

Digital Enterprise Unit. White Paper. Web Analytics Measurement for Responsive Websites

AdaLab. Adaptive Automated Scientific Laboratory (AdaLab) Adaptive Machines in Complex Environments. n Start Date:

Diploma in Secretarial Administration

InventoryControl. The Complete Inventory Tracking Solution for Small Businesses

DAME - Microsoft Excel add-in for solving multicriteria decision problems with scenarios Radomir Perzina 1, Jaroslav Ramik 2

The Masters Certificate in Risk Management & Business Performance

TIAA-CREF Wealth Management. Personalized, objective financial advice for every stage of life

The Forgotten Middle. research readiness results. Executive Summary

WHERE CHANGE IS POSSIBLE

Introducing Rational Suite

Identifying Risks in Outsourcing Software-Intensive Projects

E-Plex Enterprise Access Control System

Data Center Ethernet Facilitation of Enterprise Clustering. David Flynn, Linux Networx Orlando, Florida March 16, 2004

Bio-Plex Manager Software

GoVal Group Government Consulting and Valuation Advisory Group. real. Real expertise. Real choices. Real value.

leasing Solutions We make your Business our Business

Configuring Additional Active Directory Server Roles

Domain 1: Designing a SQL Server Instance and a Database Solution

Biometrics for Patient Identification A US Case Study

CS100: Introduction to Computer Science

COLLEGE SECURITY & LIFE SAFETY COMMUNICATIONS SOLUTIONS

Creating Tomorrow s Contact Center Today

Undergraduate Course Guide 2013

Study in the United States. Post Graduate Programs

n Foundations of Business Analysis n How To Gather and Document User Requirements n Process Modelling Management n Use Case Modelling

Permanent safety is a question of system

A Balanced Scorecard

Assessment of the Board

Domain 1 - Describe Cisco VoIP Implementations

client communication

ContactPro Desktop for Multi-Media Contact Center

Research Article An Approach to Evaluating Computer Network Security with Intuitionistic Trapezoidal Fuzzy Information

The Importance of Media in the Classroom

Open Access Non-operating Urban Infrastructure Project Management Maturity Model on Agent Construction Based on the Evolutionary Algorithm

Information for Adult Students

To c o m p e t e in t o d a y s r e t a i l e n v i r o n m e n t, y o u n e e d a s i n g l e,

Optimize your Network. In the Courier, Express and Parcel market ADDING CREDIBILITY

Patentability of Computer Software and Business Methods

Multiple Representations for Pattern Exploration with the Graphing Calculator and Manipulatives

National Measurement Institute NATIONAL MEASUREMENT INSTITUTE WORLD-CLASS MEASUREMENT STANDARDS AND SERVICES FOR AUSTRALIA

Connecting the Business, Development, and Operational dots in an enterprise [BizDevOps] - A TCS Approach

CCH CRM Books Online Software Fee Protection Consultancy Advice Lines CPD Books Online Software Fee Protection Consultancy Advice Lines CPD

Chatpun Khamyat Department of Industrial Engineering, Kasetsart University, Bangkok, Thailand

College of Nursing and Health care Professions

Global Consulting Practice. White Paper. Application Portfolio Rationalization How IT Simplification and Standardization Ensure Business Growth

FOCUS 2015 PATHWAYS EXTRAORDINARY EXPERIENCES COMMUNITY CONNECTIONS OPERATIONAL EXCELLENCE STRATEGIC PLAN. INSPIRE n TRANSFORM n CONNECT

The Stable Marriage Problem

Transcription:

Summary Beyod Software Egieerig Guest Lecture, Uiversity of Toroto Software egieerig is a ew ad fast growig field, which has grappled with its idetity: from usig the word egieerig to defiitio of the term, to educatioal eeds, to professioal certificatio. Homy Dayai-Fard, PhD Cosultat, Techology Strategy IBM Busiess Cosultig Services A persoal, somewhat historical perspective, o software egieerig: from educatio, to practice, ad beyod. A short biography Questios Cosultat, Techology Strategy Quality advisor, DB2 UDB developmet Release aalyst, DB2 UDB developmet Research officer, Cetre for Advaced Studies Adjuct at Uiversity of Toroto, York Uiversity, ad Quee s Uiversity PhD, MSc from Quee s Uiversity BSc, Uiversity of Toroto Service techicia, Olivetti What is software? What is software egieerig? What makes a software egieer? [What is egieerig?]

Goal of software egieerig To build software Catches Meets the specificatio High uality Cost ad schedule cotrol $$$ Software = program? Who are software egieers? History 1968 NATO coferece Software crisis Software egieerig Need for a formal disciplie Holy grails Automatic programmig Formal methods Reuse Better maagemet Automatic programmig Persoal A system that automatically geerates programs. If the system is reliable, so are its resultig programs Examples: Compilers 4GL Applicatio geerators (e.g., Draco, KBEmacs, Programmer s Appretice) A ew compiler was beig developed that would radically chage compilatio. There was oly oce catch: covertig make files to a stadard cofiguratio file. Result: Failed!

Formal methods Persoal Two camps: Verificatio Create formal specificatios ad demostrate that the implemetatio is cosistet with the specificatio Refiemet Usig mathematical techiues step-by-step refie the specificatio util it is executable Examples Z, VDM, CSP, Darligto, Paris Metro Developed a small size distributed real-time system. Developed formal specificatios, formally proved that the implemetatio was cosistet with its specificatio. A group of five reviewed ad approved the implemetatio. Result: Failed! Reuse Persoal: secod had Build software from compoets: Like hardware desig, put together IC s Early success Fortra, C libraries Challeges Idexig ad searchig Geerality of code Performace NIH Architectural mismatches A large developmet group set a goal of creatig reusable modules. Developers had to cotribute to a cetral repository. They also received bous poits if they used modules from the library. Result: Failed!

Reuse cotiued Later success (or otherwise) COM, DCOM, CORBA, RMI, Java class libraries Higher level reuse (ad successes) Architectural patters, e.g. -tier, pipelie Desig patters, e.g. MVC, Commad, Facade Frameworks, e.g. Struts Future : Web services, SOAP, MDA Maagemet Software life cycles Cotrol Traceability Parallel developmet Risk maagemet Examples: Waterfall (ad variatios), Iterative (ad variatios), Process orieted (RUP), people orieted (XP) Cofiguratio maagemet Maagemet cotiued Certificatio: showig off our abilities to customers (raise their level of cofidece) CMMI SPICE, ISO 9000 Other madated govermet agecies, e.g., FDA Persoal A model drive approach built o top of a commercial framework geeratig web services defiitios. Process modelig Use case modelig Object modelig Desig XML geeratio Results: jury is out!

Persoal A CIO of a fiacial istitutio asked us if he could receive the same level of beefits (ROI ~ 20-40%) by ivestig i maturity. I particular, goig from level 2 to 3 o CMMI. Result: No! Software egieerig characterizatio Large Number of people Number of features Number of depedecies Soft Chagig reuiremet Chagig eviromet Chagig people Aside: What is computer sciece? If I had to summarize the etire field of computig, it would be: Buildig hierarchies of abstractios for solvig [repetitive] problems Software egieerig characterizatio cotiued Repetitio Problems solved will come back astier Number of features Number of depedecies Mosaic Art: creativity, visio Scietific: fact-based, hypothesis drive Egieerig: cotrol, repetitio of success Maagemet: team work, commuicatio, decisio makig

Fial thought Objective of software egieerig is to solve a problem. Size matters. Scalability is a must! Fial thought cotiued Whatever software egieerig is, it helps if you have, o top of all your techical ad coceptual skills Commuicatio skills: ifluecig Team work: egotiatio, compromise Visio: see beyod the techical solutio Time goes o. History will repeat itself! Categorizatio of software Thak you! Questios? Commercial shrik-wrap Vertical vs. horizotal (middle-ware) Custom applicatios Govermet Safety critical Embedded