10 OPEN CHALLENGES IN SOFTWARE ENGINEERING

2y ago
25 Views
3 Downloads
1.52 MB
14 Pages
Last View : 5m ago
Last Download : 2m ago
Upload by : Raelyn Goode
Transcription

24/02/2011Computer Science10 OPEN CHALLENGES INSOFTWARE ENGINEERINGAnthony Finkelstein1

24/02/2011Brief outline of talk The Discipline of Software Engineering Sustained relevance of ‘big agenda’Substantial scientific progress but (perhaps)receding impact on practiceSignificant advances in some areas Testing Automatedverification (model-checking) (largely outstripping capacity to absorb innovation)2

24/02/2011The Discipline of Software Engineering Uncertain directions in other areas Softwarearchitecture Software design Software requirements Difficulties in making progress in some areas Softwaredevelopment tools ‘Methodologies’ (modelling and process combos) Middleware Grounds for optimismChallenge I – sketch Move to an ‘evidence-based’ practice cf medicineExisting practice Evidence-free Anecdotal Quasi-evidence-based3

24/02/2011Challenge I – tentative approach Review ‘classic’ workUnderpin work with clear hypothesesOpenly encourage ‘reproducibility’studiesReorganise research efforts around a‘translational pipeline’Restructure software engineeringeducation to reflect an evidencebased approachEngage with the m/index.phpChallenge II – sketch Making ‘twin peaks’ more than a pictureWeaving together requirements and architecturesIEEE Computer, Vol. 34, No. 3. (2001), pp. 115-119.by B. Nuseibeh4

24/02/2011Challenge II – tentative approach ‘Non-functional properties’ drive architectures(perhaps)Map the relationships between these properties andarchitectural stylesInsights from architectural evolutionChallenge III – sketch Engineering scalability ‘Internet-scale’services Handling large and rapid variations in the demand forresources Existing practice Somehigh level patterns for limited classes ofapplication Resource profligacy Suck it and see (dimension by dimension)5

24/02/2011Challenge III – tentative approach Large-scale testbedsScaling ‘in the wild’ Surmountingthedata challenge ArchitecturalbreakdownsDynamic systemsmodelsChallenge IV - sketch Convergence of web standards and softwareengineering standardsExisting practice Fundamentallyseparate worlds with OMG and W3Cmoving in different incompatible directions Wasteful of effort and of technical opportunity6

24/02/2011Challenge IV – tentative approach Stop playing at the periphery and pull back tofundamental requirements, a fudge probably willnot workDevise and test shared schemesIdentify quick wins Forexample smart semantic tagging of softwareartefacts Start the ‘hard grind’ of engagement withstandards bodiesChallenge V – sketch Resource estimation Existing practice We are unable to reliably predict the cost/effortrequired to build a system. We may be fortunate andhave built a very similar system before. FunctionPoints are precious little assistance. ‘JellyBeans’ only work for small systems, relatively ‘late’ inthe process.7

24/02/2011Agile MontageChallenge V – tentative approach Nothing even on the horizon here! Perhaps machine learning has a part to playWe are probably going to have to: Rethinksoftware economics Makingmoney a ‘first class object’ in softwareengineering Geta much better handle on ‘programmerproductivity’ Provide an appropriate data-sharing infrastructure8

24/02/2011Challenge VI – sketch New models around SaaS Existing practice Weknow how to build SaaS (sort of, see III) but wedon’t know how to: buyit manage QoS achieve interoperabilityChallenge VI – tentative approach Stop ‘wasting time’ with fine grained softwareservices (wake up and smell the cocoa)Enterprise mash-upsRequirements methods based on balancingmutability‘Security in the cloud’‘Walk away’ methods9

24/02/2011Challenge VII – sketch The apotheosis of ‘apps’Existing practice Channeldelivery Highly-tuned, device-specificinterfaces across to serviceswith ‘sync’ to clients Because a viable paymentmodel exists Challenge VII – tentative approach Requirements engineering for mass-marketsNew types of ‘product-family’ engineeringApp Stores SMApp managementApp assembly10

24/02/2011Challenge VIII – sketch Development of emerging classes of ‘adaptive’systemExisting practice Problemswith systems that must adapt to context Problems with systems embedding significant COTS/Community Sourced independently evolving components Problems with systems that involve user scripting and‘plug-ability’Challenge VIII – tentative approach Moving reflection from being a programminglanguage level mechanism to software systems thatcan ‘account for themselves’ – models@runtime Canreflect their requirements and (through monitoring)the extent to which those requirements are being satisfied11

24/02/2011Challenge IX – sketch “History repeats itself, first as tragedy, second asfarce” Karl MarxExisting practice Andthird, and fourth, and See CHAOS reports passimChallenge IX – tentative approach Mismatches at the boundaries between business andsoftware engineering Governance12

24/02/2011Challenge X – sketch Addressing complex inter-product and inter-supplierdependenciesExisting practice Noneto ad-hocChallenge X – tentative approach Rethinking software productionFrom garage ‘design and make’ to Supplychain Software ecosystem13

24/02/2011And by way of an inadequate conclusionTwo Free Challenges (for Oxford) Beyond software engineering Physiome, energy and sustainability models require large composite heterogeneous models (& meta-models)multiple stakeholderssubject to collaborative construction and rapid evolutionprone to errorAnd by way of an inadequate conclusionTwo Free Challenges (for Oxford) Bringing automated verification to softwareengineering practice and making the kind of breakthrough for theorem provingtechnology that has made model checking a practical realityhttp://www.toothpastefordinner.com14

4 Challenge I – tentative approach . Weaving together requirements and architectures IEEE Computer, Vol. 34, No. 3. (2001), pp. 115-119. by B. Nuseibeh . 24/02/2011 5 Challenge II – tentative

Related Documents:

COUNTY Archery Season Firearms Season Muzzleloader Season Lands Open Sept. 13 Sept.20 Sept. 27 Oct. 4 Oct. 11 Oct. 18 Oct. 25 Nov. 1 Nov. 8 Nov. 15 Nov. 22 Jan. 3 Jan. 10 Jan. 17 Jan. 24 Nov. 15 (jJr. Hunt) Nov. 29 Dec. 6 Jan. 10 Dec. 20 Dec. 27 ALLEGANY Open Open Open Open Open Open Open Open Open Open Open Open Open Open Open Open Open Open .

Open source software Open source software has been a nebulous reference to any software that is free, and is often confused with freeware and shareware. The Open Source Initiative (OSI; www. opensource.org) has therefore become a certification body for open source software under a commonly agreed-upon definition for "open source".

10 software practitioners from 7 organizations. Median of 5 years of software development experience. 5 Part. Exp. Role Project Source Project Size P1 18 yrs. Sr. Software Developer Open 1700 P2 6 yrs. Software Engineer Open 1700 P3 3 yrs. Software Engineer Open 1700 P4 10 yrs. Software Developer Open 10 P5 3 yrs. Infrastructure Engineer .

tres tipos principales de software: software de sistemas, software de aplicación y software de programación. 1.2 Tipos de software El software se clasifica en tres tipos: Software de sistema. Software de aplicación. Software de programación.

Keywords: Open access, open educational resources, open education, open and distance learning, open access publishing and licensing, digital scholarship 1. Introducing Open Access and our investigation The movement of Open Access is attempting to reach a global audience of students and staff on campus and in open and distance learning environments.

applicable open source software. The License Conditions may impose obligations upon the user, which shall apply upon redistribution of the open source software. Open Source Software Catalog Table The imVision System product uses the open source software (OSS) programs listed in the following table under the terms of the listed license.

Coding Challenges Our targeted coding challenges booklet provides a set of coding challenges that students can use as practice to get used to the process of Design, Write, Test and Refine process using a highlevel - text-based language. Algorithm Challenges Our algorithm challenges booklet provides 40 algorithm challenges which help build

Open CCMGASP FunambolSpagic OW2 mature and incubator projects WebLabSpagic UbiStarGASP Open CCMSpago SpagicSpagic ScarboGASP Open CCMProActive SpagicxPlus RmiJdbcGASP Open CCMPerseus EasyBeansSpagic TalendGASP Open CCMSpagoBI OrchestraSpagic DocDokuGASP Open CCMBonita Open CCMLomboz SpagicJOPE Middleware framework / component / tool Software .