02- project & course overview september 12, 2005 02 ... · 02- project & course overview...
Post on 01-Dec-2018
216 Views
Preview:
TRANSCRIPT
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 1
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
02- Project Background & Course Overview
ReadingsEric Armstrong, Stephanie Bodoff, Debbie Carson, Maydene Fisher, Dale Green, andKim Haase, The Java™ Web Services Tutorial, February 4, 2002http://safariexamples.informit.com/0201768119/jwsd_kit/04_tutorial_faq/tutorial/doc/JavaWSTutorial.pdfEric Armstrong, Stephanie Bodoff, Debbie Carson, Ian Evans, Maydene Fisher, DaleGreen, Kim Haase, Eric Jendrock, Monica Pawlan, and Beth Stearns, The J2EE™ 1.4Tutorial, May 30, 2003http://lux7.wu-wien.ac.at/j2eesdk/j2eetutorial14/doc/J2EETutorial.pdfVasudevan Venu, A Web Services Primerhttp://www.xml.com/pub/a/2001/04/04/webservices/index.htmlSteven J. Vaughan-Nichols, “Web Services: Beyond the Hype,” Computer, February 2002Heather Kreger, Web Services Conceptual Architecture (WSCA 1.0), May 2001http://www-306.ibm.com/software/solutions/webservices/pdf/WSCA.pdfBarry J. Doyle and Cristina Videira Lopes, “Survey of Technologies for Web ApplicationDevelopment” June 2005http://www.ics.uci.edu/~lopes/teaching/ics123S05/notes/web_programming_survey.pdf
Copyright Rick Adrion 2005, unless otherwise noted
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
UpdateRick Adrion
310 Computer Science Building(413) 545-2475adrion@cs.umass.eduOffice Hours:Tuesdays 10:30a-noon & Wednesdays 3:00-4:00p
Wendy Cooper312 Computer Science Building(413) 545-2492cooper@cs.umass.edu
TA: Sophie Kofflerskoffler@cs.umass.edu
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 2
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
ProjectEach person will be assigned to a 3-4-person group. These
groups will carry out requirements, design, construction andtesting of a component to be deployed within a CourseManagement System using the Sakai Project framework.See http://www.sakaiproject.org/
The Sakai Project is a community source softwaredevelopment effort to design, build and deploy a newCollaboration and Learning Environment (CLE) for highereducation.
The Sakai Project's primary goal is to deliver the Sakaiapplication framework and associated CMS tools andcomponents for course management and researchcollaboration. The software is being designed to becompetitive with the best CMSs available.
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Project
Sakai Quick StartInstallation &
ExercizesRequirementsElicitation &
Defintion (SRS)
PreliminaryDesign
Detailed Design
Code, Test &Deploy
Final Demo &Project Report
Project 1
Project 2
Project 3
Project 0/HW1
Form Groups, ID Projects &
ID Stakeholders
TeamIndividual
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 3
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
AcronymsALE Adaptive Learning Environment; ALN Asynchronous LearningNetwork; ALT Advanced Learning Technology; CAI ComputerAssisted Instruction, Computer-Assisted Instruction, ComputerAided Instruction; CBE Computer Based Education; CBI ComputerBased Instruction; CBL Computer Based Learning, Computer-Based Learning; CLE Collaboration and Learning Environment,Client Learning Environment; CMS Content Management System,Course Management System; CSCL Computer SupportedCollaborative Learning, Computer-Supported CooperativeLearning; e-Learning Electronic Learning; ILS Integrated LearningSystem, (Integrated Learning Management System); ITS IntelligentTutoring Systems; KMS Knowledge Management System; LMSLearning Management System; MUD Multi-User-Dungeon; RLOReusable Learning Object; SCO Sharable Content Object; SCORMShareable Courseware Reference Model, Shareable ContentObject Reference Model; Webinar Web + Seminar; WebLE Web-Based Learning Environment
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Learning (Content) Management Systems
Learning Management Systemsenable the management and delivery of learning content andresources to studentsmost are web-based to facilitate "anytime, anywhere" accessto learning content and administration.at a minimum, usually allow for:
student registration,delivery and tracking of e-learning courses and content, and
testingbased on a variety of development platforms, from J2EE-based architectures to .NET, and usually employ the use of arobust database back-end
Learning Content Management Systemfacilitates organization of content from authoring tools andpresentation of this content to students via an LMS.
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 4
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
What’s out thereCommercial L(C)MS
ANGELBlackBoardeCollege AU+WebCTand many more ….
Open Source L(C)MSCHEFLON-CAPAMoodleSakai
CollaborativeEnvironmentsLotus NotesMicrosoft SharePoint
Collaborative FrameworksMoodle
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Why & WhatWhy Sakai?
Sakai attempts to be both a Learning ManagementSystem and a Collaborative PortalBoth “web services,” but as we shall see they are notcompletely compatible
Why web services?Changes in software development (OOS, Model-baseddevelopment, …), Business (EIS, B2B, …), ubiquity ofthe web
What are web services? Portals? Servlets?
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 5
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Progresssignificant progress in QoS-
enabled middleware,stemming in large part fromthe following trends:years of iteration,refinement, & successfulusematuration of middlewarestandards .NET, J2EE, CCMReal-time CORBAReal-time JavaSOAP & Web Services
maturation of componentmiddleware frameworks &patterns
Year1970 2005
ARPAnet
RPC
Micro-kernels
CORBA & DCOM
Real-timeCORBA
Component Models (EJB)
CORBA ComponentModel (CCM)
Real-time CCM
DCE
Web Services
Adapted from Douglas C. Schmidt, “Patterns, Frameworks, & Middleware: Their Synergistic Relationships”
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Web ServicesWhy web services and not middleware platform (RMI, Jini,
CORBA, DCOM etc.)? simplicity of access and ubiquitythe Web complements middleware by providing a uniform andwidely accessible interface and access to services that are moreefficiently implemented in a traditional middleware platform.from an n-tier application architecture perspective, the webservice is a veneer for programmatic access to a service whichis then implemented by other kinds of middleware.
Illustration from Steven J. Vaughan-Nichols, “Web Services: Beyond the Hype”
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 6
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
WS = XML + HTTP + SOAP + WSDL + UDDI
SOAP (Simple Object Access Protocol)a protocol specification that defines a uniform way of passingXML-encoded data and for using HTTP as the underlyingcommunication protocol to perform remote procedure calls
UDDI (Universal Description, Discovery and IntegrationService)provides a mechanism for clients to dynamically find otherweb servicesis layered over SOAP and assumes that requests andresponses are UDDI objects sent around as SOAP messages
WSDL (Web Services Definition Language)provides a way for service providers to describe the basicformat of web service requests over different protocols orencodingsused to describe what a web service can do, where it resides,and how to invoke it
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
From Static to Dynamic Web Services
Il lustrations from Barry J. Doyle and Cristina Videira Lopes, “Survey of Technologies for Web Application Development” June 2005
Adding plug-ins& scripting
Scable CGI
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 7
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Multi-Tiered Architectures
Il lustration from Barry J. Doyle and Cristina Videira Lopes, “Survey of Technologies for Web Application Development” June 2005
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
J2EE 3-Tier Architecture
ApplicationClient
Dynamic HTML Pages
EJB EJB
DB DB
JSP
J2EE Clients
WebClients
Browser
ClientMachine
J2EEServer
Machine
DBServer
Machine
ClientTier
WebTier
BusinessTier
EISTier
GUI
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 8
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
J2EE
Il lustration from Barry J. Doyle and Cristina Videira Lopes, “Survey of Technologies for Web Application Development” June 2005
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
The Sakai ProjectGoal: Develop an open-source collaborative learning environment
Suitable for use as a learning management systemSuitable for use as a small group collaboration system
Sakai is an extensible frameworkprovides basic capabilities to support a wide range of toolsand services
Sakai is a set of toolswritten and supported by various groups
Sakai is a producta released bundle of the framework and a set of tools whichhave been tested and released as a unit
Partners:The University of Michigan, Indiana University, MIT, Stanford,the uPortal Consortium, and the Open Knowledge Initiative(OKI) with a $2.4 million grant from Mellon Foundation
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 9
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
ReleasesSakai 1.0
All tools from CHEF, ported to Sakai Administrtive tools; Announcements; Assignments; Chat Room; Discussion;
Help; News; Schedule; WebDAVJava Server Faces 1.0 development environment with initial set of Sakaitags
Sakai 1.5Revised JSF 1.1 development environment IFRAME Portal integrationTools
Samigo (assessment); Syllabus Tool; Context Sensitive Help; PresentationTool (SEPP); Contributed Tools (Blackboard Import; Xwiki): Portfolio Tool -OSPI (R-Smart) (separate release)
Sakai 2.0Sakai Style Guide Improved content managementSakai APIs and framework completeSakai 2.0 (New Tools)
Melete (module editor); Gradebook; Contributed tools
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Sakai 3.0 Internationalization Portal Integration
WSRP JSR-168
Web Services Hardening, design documentation Possible:
JSP and/or JYTHON
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 10
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Sakai Technical GoalsProvide environment to write tools and services whichseamlessly move from one Sakai deployment to another
Provide environment where the addition of a new tooldoes not de-stabilize the existing tools
Provide environment to allow tools to exist both withinSakai and standalone (I.e. easy porting of externaltools into Sakai without requiring rewrite)
Provide capabilities so that Sakai services and toolscan be accessed using web services.
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Sakai Foundational DocumentsSakai Style Guide
describes in detail how Sakai tools are to look andoperate regardless of implementation technology
Sakai Java Frameworkdescribes the Sakai Application Framework (SAF) asimplemented in Java
Sakai Tool Portability Profiledescribes how to write tools and services to be portableacross Sakai systems (in progress)
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 11
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Service Oriented Architecture Decompose tool code into
presentation elements andservice elements
Provide an abstraction (API)which shields the tool codefrom the implementationdetails of the service code.
Allows separatedevelopment of the tools andservices.
Allows effective unit testingof services
Allows an implementation tobe replaced transparentlywith another implementationas long as the API contract isfully met
My Monolithic
Code
Persistence
Browser
PresentationCode
Persistence
Browser
ServiceCode
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Sakai Application FrameworkSAF - Kernel
an augmented webapplication which enables theSakai APIs to be called formthe web application - this is arich but not constrainingenvironment
SAF - Common Servicesa set of common servicesavailable to all tools(authentication, authorization,hierarchy, repository, others)
SAF - Presentation Servicesa set of Sakai specific JSFtags to handle presentationdetails and provide widgetssuch as a date-picker orWSYWIG editor.
SAF - Kernel
SAF - Common Services
Application Services
Tool Code (Java)
Tool Layout (JSP)
SAF - Presentation Services
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 12
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Sakai Integration/Development Develop a TPP Compliant Tool
Assured to be portable across Sakai environments Integrate a web application
Responsible for own presentation and compliance to styleguide (may use Sakai JSF tags if JSF is used)
Can operate both stand-alone and within Sakai Integrate via web-services
Capability
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Technology Portability Profile - TPPHow to write for software code mobility:
The Open Knowledge Initiative’s (OKI) Open ServiceInterface Definitions (OSIDs)The JSR-168 portlet specification implemented inuPortal 3.xExpanded uMichigan CHEF Framework for toolinteroperabilityUser interface abstraction for localization
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 13
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
What is OKI?The Open Knowledge
Initiative™ is a collaborationamong leading universitiesand specification andstandards organizations tosupport innovative learningtechnology in highereducation.Goal: to create an open andextensible architecture thatspecifies how the componentsof an educational softwareenvironment communicatewith each other and with otherenterprise systems.
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
OKI OSID InterfacesAssessmentAuthenticationAuthorizationCourseManagementDBCDictionaryDigitalRepositoryFilingHierarchyLoggingSchedulingSharedSQLUserMessagingWorkflow
Example:Authorization OSIDFunctional Description
The Authorization OSID allows anapplication to establish and query a user'sprivileges to view, create, or modifyapplication data, or use applicationfunctionality.
Why importantApplications that can change Enterprisedata need to manage a user's access tothat data. An application must provide afine degree of authorization granularity toreflect the complexity of a user'sinteraction with an application.
Use casesA graduate student TA has the systemprivileges to change the grades of thestudents in the course section that heteaches, but not the privilege to changehis own grades.
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 14
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Portlet FrameworksJSR 168
defines a standard Javaway to plug in portlets
enables portlets to bewritten once and used inmany different (Java)systems
WSRPcomplimentary to JSR 168specifies how a remoteportlet producercommunicates with, andthrough, a portletconsumer
Portal
JSR 168 Portlet WSAdapter
API
Service
WSAdapter
API
Web ServiceProtocol
WebAccess
Browser
WSRPProtocol
Portlet ProducerPortlet Consumer
WSRPAdapter
API
WSRPAdapter
API
Portlet
Browser
JSR168?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Sakai Portal Integration Sakai TPP Tools will run in JSR-168 portals - “Write once run
anywhere”. An entire Sakai site can be included at some point in an enterprise
portal iFrames - separate sign on (or WebISO) WSRP - shared sign on via trust between portal and Sakai
Portions many Sakai sites, tools, or pages can be aggregated toproduce a personal federated view for an individual - moves toward apersonal learning and research environment.
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 15
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Sakai and Portals
The designers initially intended for Sakai to be a“portal plus a bunch of tools”
Initially this seemed simple enough Buttons and rectangles Collection of tools deployed in various
configurations with various administration options Portals and Learning Management systems
turned out to be very different problems to solve Sakai needs to work both in a portal and LMS
environment (a bit stressful)
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Portals vs. LMSPortals
Organized by enterpriseand are often driven by theoffice of communications(Library, HR, Athletics,President)Often geared to individualcustomizationMany small rectangles toprovide a great deal ofinformation on a singlescreenPortals think of rectanglesoperating independently -like windowsThink “Dashboard”
LMSOrganized by academicaspects and are driven bythe registrar (Colleges,Departments)LMS’s are customizable byfaculty or departments butnot typically by studentsLMS’s like one tool on thescreen at a time.LMS’s think of navigationas picking a tool orswitching from one class toanotherThink “Application”
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 16
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Why engineer software?Scope and Impact on SocietyEconomicsQuality
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Scope and Impact on Societyrange of applications
simple ⇒ “super” systemscurrent methods do not scalenew and expanding applications
increasing complexity of embedded systems
Why engineer software? Scope and Impact on Society Economics Quality
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 17
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Scope and Impact on Society There have been many (in)famous software failures:
National long-distance telephone outage London Ambulance Service disaster European Space Agency booster destruction
If you fly, your life depends on software Airbus AA flight in Cali, Columbia
Your bank account depends on software New York bank reconciliation failure
Medical devices are controlled by software Therac-25
… and so onWhy engineer software?
Scope and Impact on Society Economics Quality
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Scope and Impact on SocietySafety
Security and privacy
"O Ring effect"
"Firewall effect"
Why engineer software? Scope and Impact on Society Economics Quality
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 18
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Economics A trillion dollar a year industry? Software can represent major (the majority of) costs of
A “make or break” key competency for
Software can cost hundreds or thousands of dollars per line
Why engineer software? Scope and Impact on Society Economics Quality
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Quality deliver prototypes "leave it to the marketplace" unsophisticated consumers
Look at what I bought!!
Why engineer software? Scope and Impact on Society Economics Quality
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 19
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
QualityAnalogyThere are many recalls for automobiles; ifsomething is not right, then it has to be fixed andusually for free.A defect in software will be “fixed” in “the next”release (at some cost to upgrade) or as a part of“maintenance” (also at some cost)
Why engineer software? Scope and Impact on Society Economics Quality
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Barriers to engineering software
industry’s short term focus shortage of skilled personnel inadequate investment in R&D coupling -- tend to "toss over the fence" lack of infrastructure standards
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 20
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Past Approaches Use more people
Create "better" programming languages
Design before writing code
Are you are designing the right program?
Test programs longer
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
More Approaches Train managers better
Software tools to help people write programs better
Use superior software processes
Train people better
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 21
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
New ApprochesAgile MethodsAspect Oriented ProgrammingExtreme ProgrammingFeature-Driven DevelopmentPair ProgrammingRefactoringTest Driven Development
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
There are products that share some of itscharacteristics
Software Is not unique
Studying such analogs can be useful: Help us learn about computer software Find points of similarity Suggest successful approaches to be
emulated Avoid known mistakes
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 22
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Problem: Create aproduct thatprovides shelter,sanitation, foodpreparationfacilities, recreation
Solution Medium:Dwelling unit
Lots ofinterconnectionand interactionamong thesecomponents
Analogy 1: Custom Home Building Product Components
Customer needs
Constraints
Preliminary design
Detailed design
Construction
Maintenance & Evolution
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Strengths of Analogy 1
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 23
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Weakness of Analogy 1
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Problem: Create aproduct to meet needsof citizens or solveproblems, such asCommon defense,domestic tranquility,establish justice
Solution Medium:Congress, ExecutiveAgencies, Petition,
Lots ofinterconnectionand interactionamong thesecomponents
Analogy 2: Legislation Product Components
“Customer” needs
Constraints
Preliminary design
Detailed design
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 24
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Analogy 2: Legislation Product Components
Construction
Maintenance & Evolution
Problem: Create aproduct to meet needsof citizens or solveproblems, such asCommon defense,domestic tranquility,establish justice
Solution Medium:Congress, ExecutiveAgencies, Petition,
Lots ofinterconnectionand interactionamong thesecomponents
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Strengths of Analogy 2
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 25
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Strengths of Analogy 2
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Weakness? of Analogy 2Look at two simple examples:FY05 State budget (funding, outside sections)GovernorHouse Ways & MeansHouse 1 (amended)SenateConferenceGovernor’s vetosLegislative overrides
Social Security “Windfall Elimination”What are other analogies?
Plays and Movies? Recipes? Driving instructions (eg.rallyes)
Products?Process?
02- Project & Course Overview September 12, 2005
© Rick Adrion, 2005 (except as noted) 26
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Example
University of Massachusetts For the operation of the University of Massachusetts; provided, thatnotwithstanding any general or special law to the contrary, the university may establish andorganize auxiliary organizations, subject to policies, rules and regulations adopted by the board, toprovide essential functions which are integral to the educational mission of the university; providedfurther, that notwithstanding any general or special law to the contrary, the university may enter intoleases of real property without prior approval of the division of capital asset management andmaintenance; provided further, …; provided further, that no fundsappropriated in this item may be used for the issuance or renewal of student or employeeidentification cards which display a student or employee’s social security number; provided further…; and provided further.. .......................................................... $337,864,464
SECTION 242. Section 633 of chapter 26 of the Acts of 2003 is hereby amended by striking out thesecond and third paragraphs and inserting in place thereof the following paragraphs:-Notwithstanding any general or special law to the contrary, the board of trustees for the university ofMassachusetts system and the president of the university are hereby authorized and directed toestablish a two year pilot program for out of state tuition retention at the flagship campus of theuniversity at Amherst. The board shall promulgate…Notwithstanding any general or special law to the contrary, for employees of public higher educationinstitutions who are paid from tuition retained pursuant to this section, fringe benefits shall be fundedas if those employees’ salaries were supported by state appropriations. …
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Another example
SECTION 1. WINDFALL ELIMINATION PROVISION RESTRICTED TO TOTALMONTHLY AMOUNTS IN EXCESS OF $2,000. (a) IN GENERAL- Section 215(a)(7) of theSocial Security Act (42 U.S.C. 415(a)(7)) is amended-- (1) in subparagraph (A), by inserting after `service'),' the following: `if the sum of theindividual's primary insurance amount under paragraph (1) of this subsection and theportion of the monthly periodic payment which is attributable to noncovered serviceperformed after 1956 (with such attribution being based on the proportionate number ofyears of such noncovered service) is greater than $2,000, then'; (2) in the second sentence of subparagraph (B)(i), by striking `(with such attribution beingbased on the proportionate number of years of such noncovered service)' and inserting `(asdetermined under subparagraph (A))';(3) in the last sentence of subparagraph (B)(i), by striking `the larger of' and all that followsthrough `subsection (i))' and inserting the following: `the primary insurance amountdetermined under paragraph (1), reduced (before the application of subsection (i)) by theapplicable percentage specified in clause (iii) of the excess of such amount over the largerof the two amounts computed under the preceding two sentences,'; and(4) by adding at the end of subparagraph (B) the following new clause: `(iii) For purposes ofclause (i), the applicable percentage in connection with any individual shall be thepercentage specified in connection with such individual in the following table:
top related