SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Using  requirements  to retrace software evolution  history Neil Ernst  and John Mylopoulos University of Toronto
Motivation ,[object Object],[object Object],[object Object],[object Object]
Software 'history' ,[object Object],[object Object]
Distributed computing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Distributed computing ,[object Object],[object Object]
Early days ,[object Object],[object Object],[object Object],[object Object],[object Object]
Remote procedure call ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],CORBA
[object Object],[object Object],[object Object],[object Object],Java: RMI and EJBs
[object Object],[object Object],[object Object],[object Object],[object Object],Microsoft: DCOM
The web years ,[object Object],[object Object],[object Object],[object Object],[object Object]
Analysis ,[object Object],[object Object],[object Object]
19/09/07 ,[object Object],[object Object],[object Object]
Conclusions ,[object Object],[object Object]
Thank you [email_address]
extra ,[object Object],[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Andere mochten auch

Brochure Sct 2012 1
Brochure Sct 2012 1Brochure Sct 2012 1
Brochure Sct 2012 1
JPStrategy
 
Cisco tec rob soderbery - core enterprise networking
Cisco tec   rob soderbery - core enterprise networkingCisco tec   rob soderbery - core enterprise networking
Cisco tec rob soderbery - core enterprise networking
Cisco Public Relations
 
Simplify Presentation
Simplify PresentationSimplify Presentation
Simplify Presentation
bob_bryant
 
Fabric systems presentation
Fabric systems   presentationFabric systems   presentation
Fabric systems presentation
GARYFS1976
 
Bauer Supply Chain Center Spring 2015 Symposium Keynote
Bauer Supply Chain Center Spring 2015 Symposium KeynoteBauer Supply Chain Center Spring 2015 Symposium Keynote
Bauer Supply Chain Center Spring 2015 Symposium Keynote
Wilson Perumal and Company
 
Introduction for CCASR
Introduction for CCASRIntroduction for CCASR
Introduction for CCASR
Neil Ernst
 
Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements
Neil Ernst
 

Andere mochten auch (17)

Brochure Sct 2012 1
Brochure Sct 2012 1Brochure Sct 2012 1
Brochure Sct 2012 1
 
Cisco tec rob soderbery - core enterprise networking
Cisco tec   rob soderbery - core enterprise networkingCisco tec   rob soderbery - core enterprise networking
Cisco tec rob soderbery - core enterprise networking
 
The state of connectivity for marketers and creatives
The state of connectivity for marketers and creativesThe state of connectivity for marketers and creatives
The state of connectivity for marketers and creatives
 
Simplify Presentation
Simplify PresentationSimplify Presentation
Simplify Presentation
 
Awarding today's brightest young minds
Awarding today's brightest young mindsAwarding today's brightest young minds
Awarding today's brightest young minds
 
Fabric systems presentation
Fabric systems   presentationFabric systems   presentation
Fabric systems presentation
 
Cisco Monetization and Optimization Index (MOI) - Service Provider Cloud, Mob...
Cisco Monetization and Optimization Index (MOI) - Service Provider Cloud, Mob...Cisco Monetization and Optimization Index (MOI) - Service Provider Cloud, Mob...
Cisco Monetization and Optimization Index (MOI) - Service Provider Cloud, Mob...
 
Bauer Supply Chain Center Spring 2015 Symposium Keynote
Bauer Supply Chain Center Spring 2015 Symposium KeynoteBauer Supply Chain Center Spring 2015 Symposium Keynote
Bauer Supply Chain Center Spring 2015 Symposium Keynote
 
Reshape Your IT Spend, Increase Agility, & Defend Against Operational Risk
Reshape Your IT Spend, Increase Agility, & Defend Against Operational Risk Reshape Your IT Spend, Increase Agility, & Defend Against Operational Risk
Reshape Your IT Spend, Increase Agility, & Defend Against Operational Risk
 
Introduction for CCASR
Introduction for CCASRIntroduction for CCASR
Introduction for CCASR
 
IMA Lab: Simplify, Reuse, Explore
IMA Lab: Simplify, Reuse, ExploreIMA Lab: Simplify, Reuse, Explore
IMA Lab: Simplify, Reuse, Explore
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirements
 
Using AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute TradeoffsUsing AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute Tradeoffs
 
Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements
 
AEM DAM Integrations showcases - Connect Conference 2015
AEM DAM Integrations showcases - Connect Conference 2015AEM DAM Integrations showcases - Connect Conference 2015
AEM DAM Integrations showcases - Connect Conference 2015
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and Requirements
 
Webinar: 2016 Digital Vendor Map: What Does It Mean?
Webinar: 2016 Digital Vendor Map: What Does It Mean?Webinar: 2016 Digital Vendor Map: What Does It Mean?
Webinar: 2016 Digital Vendor Map: What Does It Mean?
 

Ähnlich wie Using requirements to retrace software evolution history

06 styles and_greenfield_design
06 styles and_greenfield_design06 styles and_greenfield_design
06 styles and_greenfield_design
Majong DevJfu
 
15 implementing architectures
15 implementing architectures15 implementing architectures
15 implementing architectures
Majong DevJfu
 
17 applied architectures
17 applied architectures17 applied architectures
17 applied architectures
Majong DevJfu
 

Ähnlich wie Using requirements to retrace software evolution history (20)

Melbourne Microservices Meetup: Agenda for a new Architecture
Melbourne Microservices Meetup: Agenda for a new ArchitectureMelbourne Microservices Meetup: Agenda for a new Architecture
Melbourne Microservices Meetup: Agenda for a new Architecture
 
Cc unit 2 ppt
Cc unit 2 pptCc unit 2 ppt
Cc unit 2 ppt
 
Oopsla 2007 - The Web: Distributed Objects Realized!
Oopsla 2007 - The Web: Distributed Objects Realized!Oopsla 2007 - The Web: Distributed Objects Realized!
Oopsla 2007 - The Web: Distributed Objects Realized!
 
213650704 literature-survey
213650704 literature-survey213650704 literature-survey
213650704 literature-survey
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 
Interoperability
InteroperabilityInteroperability
Interoperability
 
Migrating SOA
Migrating SOAMigrating SOA
Migrating SOA
 
Soa web pres new
Soa web pres newSoa web pres new
Soa web pres new
 
Introduction to Micro Services
Introduction to Micro ServicesIntroduction to Micro Services
Introduction to Micro Services
 
Article on International Journal of Mobile Communications "An Architectural P...
Article on International Journal of Mobile Communications "An Architectural P...Article on International Journal of Mobile Communications "An Architectural P...
Article on International Journal of Mobile Communications "An Architectural P...
 
06 styles and_greenfield_design
06 styles and_greenfield_design06 styles and_greenfield_design
06 styles and_greenfield_design
 
SW Architecture Monolithic to SOA
SW Architecture Monolithic to SOASW Architecture Monolithic to SOA
SW Architecture Monolithic to SOA
 
Trustworthy service oriented architecture and platform for cloud computing (2...
Trustworthy service oriented architecture and platform for cloud computing (2...Trustworthy service oriented architecture and platform for cloud computing (2...
Trustworthy service oriented architecture and platform for cloud computing (2...
 
15 implementing architectures
15 implementing architectures15 implementing architectures
15 implementing architectures
 
Resource Description: : The cornerstone of federation
Resource Description: : The cornerstone of federationResource Description: : The cornerstone of federation
Resource Description: : The cornerstone of federation
 
Linking Programming models between Grids, Web 2.0 and Multicore
Linking Programming models between Grids, Web 2.0 and Multicore Linking Programming models between Grids, Web 2.0 and Multicore
Linking Programming models between Grids, Web 2.0 and Multicore
 
17 applied architectures
17 applied architectures17 applied architectures
17 applied architectures
 
Vii cse grading
Vii cse  gradingVii cse  grading
Vii cse grading
 
Suneel
SuneelSuneel
Suneel
 
Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12
 

Mehr von Neil Ernst

Mehr von Neil Ernst (7)

Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
 
Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015
 
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent ReasoningSupporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
 
Requirements Evolution Drives Software Evolution
Requirements Evolution Drives Software EvolutionRequirements Evolution Drives Software Evolution
Requirements Evolution Drives Software Evolution
 
Adoption-Centric Knowledge Engineering
Adoption-Centric Knowledge EngineeringAdoption-Centric Knowledge Engineering
Adoption-Centric Knowledge Engineering
 
Reasoning with optional and preferred requirements
Reasoning with optional and preferred requirementsReasoning with optional and preferred requirements
Reasoning with optional and preferred requirements
 
On the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycleOn the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycle
 

Using requirements to retrace software evolution history

Hinweis der Redaktion

  1. 17 mins + 5 for questions/setup Thanks for coming. This is a practice talk for a workshop on software evolvability at ICSM in two weeks. The workshop will explore topics around how to design software systems, and their requirements, to support evolving contexts. Please hold questions til after the presentation as you would at a real conference. I'd appreciate any notes on typos, weird colours, inaccuracies, and other mistakes, too. Keep in mind this is a talk on history being given by someone who wasn't there for a lot of it. I welcome clarifications from my more experienced colleagues.
  2. The nounal view looks at the 'what' of evolution rather than the verbal view – the how. We want to focus on how a system can be made more 'evolvable'. But evolvability doesn't arise like Athena, fully-formed.
  3. e.g., the history of spreadsheets often starts with Visicalc, then 1-2-3, then Excel, etc. But this is just a factual recounting of events, like “napoleon retreated from Moscow and lost most of his army”. We want to understand, for example, 'why did Napoleon invade Russia'?
  4. As an example of what software histories – that focus on the why – can teach us, I want to discuss distributed computing. Controversial because Microsoft did not dominate this area as much as, say, word processing. I focus on intentions because I am interested in the problem domain and not specifics of machine domains. I acknowledge that many issues are raised when implementation happens .. but I suggest those issues are then addressed in later releases.
  5. What is distributed computing? Possibly parallel – so perhaps a better term in remote computing
  6. Here is an overview of the protocols and technologies I cover. Any taxonomy is necessarily a simplification, but this diagram tries to show rough philogeny ... i.e. Connected nodes are more related. There is nonetheless a lot of gene transfer.
  7. These requirements were a response to protocols that required reinvention each time, for example FTP and Telnet.
  8. Rise of Unix for servers scared smaller vendors (Sun/ATT)‏
  9. The HTTP model had demonstrated scalability and support for heterogeneity: everyone had a web server on port 80, but not everyone had a CORBA/DCOM server. A high enough level of abstraction, dealing with call/response, redirects, etc. XML is self-descriptive and simple to start with.
  10. A service is: • A possibly remote procedure with an • invocation that is described in a standard (preferably XML-based) machine-readable syntax, • reachable via standard Internet protocols, • including at a minimum a description of the allowed input and output messages, as well as • possible semantic annotation of the service function and data meaning. Dagstuhl session on SOC