SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
Essential Software Architecture
          Chapter 2: Introducing the Case Study

                                    Summary


2.1 Overview
  ● In this chapter will be introduced a case study that will be used in subsequent chapters
    to illustrate some of the benefit of the design principles.
  ● The applications is a multiuser software system with a database that is used to share
    information between users and intelligent tools.
  ● Fig. 2.1 depicts an informal context diagram:




2.2 The ICDE System
● ICDE: Information Capture and Dissemination Environment
  ● ICDE provides intelligent assistance to professionals such as financial analysts,
    scientific researchers and intelligence analysts.
  ● ICDE automatically captures and stores data that records a range of actions performed
    by a user when operating a workstation.
        ○ i.e.: When a user performs a Google search, the ICDE system will transparently
             store in a database:
                 ■ The search query string
                  ■ Copies of the web pages returned by Google that displays in their
                     browser.

  ● The data stored in the database can be recovered by third-party software tools that
     attempt to offer intelligent help to the user.
   ● These tools might interpret a sequence of user inputs, and try to find additional
     information to help the user with their current task.
  ● The unvisited links will be analyzed to extract relevant information that user overlooks.

  ●   Fig. 2.2 depicts a use case diagram for ICDE:




2.3 Project Contect
  ● The first version of ICDE (v1.0) was developed by small development team.
       ○ They implemented the Capture User Actions use case.
  ● The first tangible component was the client that runs on each user workstation, and
    drove the design and implementation of the data store.
●    The database is an integral part of the rest of system’s functionality.
             ○ Its design must be suitable to support high transaction rate that a large
               number of users could potentially generate.

    ●  The first test was made with few users, and it demonstrated the concepts of data capture
       and storage.
     ● The design of v1.0 was based upon a simple two-tier architecture, with all
       components executing on the user’s workstation.
    ● Fig. 2.3 depicts the design of the first version of ICDE:




     ● The collection and analysis client components were written in Java and access the data
       store (server) directly using the JDBC API.

    ●    The role of each component is as follows:
            ○ Data Collection:
                     ■ Integrates with loosely coupled components1 running on a client
                        workstation.
                     ■ Transparently tracks the user’s relevant activities and store them in the
                        Data Store.
                    ■ Captured events:
                           ● Internet accesses,
                           ● Opened documents,
                           ● Browsed documents,
                           ● Changes made to documents,


1 http://en.wikipedia.org/wiki/Coupling_(computer_programming)
● and some basic windowing information about when the user
                         opens and closes applications on the desktop.

               ■   Each event has associated a number of attributes:
                      ● x, y coordinates,
                      ● window activation,
                      ● double clicked elements, and so on.

        ○   Data Store:
               ■ Compromises a COTS relational database.
               ■ The DB stores event information in various table to capture user activities,
                   with timestamps.
                ■ Binary files (i.e.: images, documents, etc.) are stored in Binary Large
                   Object Fields using the native database facilities.

        ○   Data Analysis:
               ■ A GUI tool lets to make queries on the data store.
                      ● This was useful for testing purposes.
                      ● Give a general look of the captured data.
                      ● Provides a useful way to analyze data.




2.4 Business Goals
  ● ICDE v2.0 had much more ambitious aims.
  ● The previous trial deployments that systems is working, now the sponsors had two
    major business objective for the next release. These were
       ○ Allows a third party developer build a, e.g., “stock advisor” that watches the
          stocks that an analyst is looking at in their browser and informs them of any
          events in the news that might affect the stock value.
       ○ Promote the ICDE concepto and tools to potentials customers, in order to
          enhance their analytical working environment.

   ● The above objectives are focused on create an environment around the ICDE
     technology, through:
         ○ Advisory environment for users in a range of applications domains.
         ○ a market for third party tools.
  ● Table 2.1 describes the major objectives identified:
●   In order to attract a third party tool developers, it is essential that the environment has
      a powerful and easy-to-use application programming interface (API) that could be
      accessed from any operating system platforms that a developer chooses to use.
  ●   One survey raised that powerful analytical tools might require high-end cluster machines
      to run.
           ○ Hence, developers would need the capability to communicate with ICDE
              deployment over local and wide area networks.

  ●   ICDE must provides the mechanism to accommodate new users: scalability.

  ●   Avoid expensive COTS technologies.
         ○ This in turn will make the product more attractive in terms of price for clients.




2.5 Constraints
  ● Technical objectives are so ambitious, hence it would require a different architecture
    to support distributed data access and communications.
        ○ Client components like GUI and data capture tools must be stable.
  ● Changes would only be made to the client to enable it to communicate with the new data
    management and notification architecture that this project would design.

  ●   A time horizon of 12 months was set for ICDE v2.0.
          ○ An interim release after 6 months was planned to expose tool developers to the
             API, and allow them to develop their tools at the same time that ICDE v2.0 was
             being productized and enhanced.

  ●   Have a fixed schedule.
  ●   Development budget was also fixed.
         ○ This meant the development resources available would constrain the features
            that could be included in the v2.0 release.

Contenu connexe

Plus de John Ortiz

Ti en las organizaciones cadena de valor
Ti en las organizaciones   cadena de valorTi en las organizaciones   cadena de valor
Ti en las organizaciones cadena de valorJohn Ortiz
 
TI en las Organizaciones - Objetivos Estratégicos de las TI
TI en las Organizaciones - Objetivos Estratégicos de las TITI en las Organizaciones - Objetivos Estratégicos de las TI
TI en las Organizaciones - Objetivos Estratégicos de las TIJohn Ortiz
 
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?John Ortiz
 
TI en las Organizaciones - C1 - Entorno y TI - Dominio Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Dominio OrganizacionalTI en las Organizaciones - C1 - Entorno y TI - Dominio Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Dominio OrganizacionalJohn Ortiz
 
TI en las Organizaciones - C1 - Entorno y TI - Entorno Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Entorno OrganizacionalTI en las Organizaciones - C1 - Entorno y TI - Entorno Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Entorno OrganizacionalJohn Ortiz
 
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...John Ortiz
 
Manejo de excepciones en Java
Manejo de excepciones en JavaManejo de excepciones en Java
Manejo de excepciones en JavaJohn Ortiz
 
An Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryAn Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryJohn Ortiz
 
Arquitectura empresarial resumen
Arquitectura empresarial   resumenArquitectura empresarial   resumen
Arquitectura empresarial resumenJohn Ortiz
 
Arquitectura empresarial para ingenieros de sistemas - Resumen
Arquitectura empresarial para ingenieros de sistemas  - ResumenArquitectura empresarial para ingenieros de sistemas  - Resumen
Arquitectura empresarial para ingenieros de sistemas - ResumenJohn Ortiz
 
Lactancia materna
Lactancia maternaLactancia materna
Lactancia maternaJohn Ortiz
 
Brigada de salud
Brigada de saludBrigada de salud
Brigada de saludJohn Ortiz
 

Plus de John Ortiz (12)

Ti en las organizaciones cadena de valor
Ti en las organizaciones   cadena de valorTi en las organizaciones   cadena de valor
Ti en las organizaciones cadena de valor
 
TI en las Organizaciones - Objetivos Estratégicos de las TI
TI en las Organizaciones - Objetivos Estratégicos de las TITI en las Organizaciones - Objetivos Estratégicos de las TI
TI en las Organizaciones - Objetivos Estratégicos de las TI
 
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?
 
TI en las Organizaciones - C1 - Entorno y TI - Dominio Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Dominio OrganizacionalTI en las Organizaciones - C1 - Entorno y TI - Dominio Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Dominio Organizacional
 
TI en las Organizaciones - C1 - Entorno y TI - Entorno Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Entorno OrganizacionalTI en las Organizaciones - C1 - Entorno y TI - Entorno Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Entorno Organizacional
 
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
 
Manejo de excepciones en Java
Manejo de excepciones en JavaManejo de excepciones en Java
Manejo de excepciones en Java
 
An Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryAn Introduction to Software Architecture - Summary
An Introduction to Software Architecture - Summary
 
Arquitectura empresarial resumen
Arquitectura empresarial   resumenArquitectura empresarial   resumen
Arquitectura empresarial resumen
 
Arquitectura empresarial para ingenieros de sistemas - Resumen
Arquitectura empresarial para ingenieros de sistemas  - ResumenArquitectura empresarial para ingenieros de sistemas  - Resumen
Arquitectura empresarial para ingenieros de sistemas - Resumen
 
Lactancia materna
Lactancia maternaLactancia materna
Lactancia materna
 
Brigada de salud
Brigada de saludBrigada de salud
Brigada de salud
 

Dernier

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Dernier (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Essential Software Architecture - Chapter 2 Introducing the Case Study - Summary

  • 1. Essential Software Architecture Chapter 2: Introducing the Case Study Summary 2.1 Overview ● In this chapter will be introduced a case study that will be used in subsequent chapters to illustrate some of the benefit of the design principles. ● The applications is a multiuser software system with a database that is used to share information between users and intelligent tools. ● Fig. 2.1 depicts an informal context diagram: 2.2 The ICDE System
  • 2. ● ICDE: Information Capture and Dissemination Environment ● ICDE provides intelligent assistance to professionals such as financial analysts, scientific researchers and intelligence analysts. ● ICDE automatically captures and stores data that records a range of actions performed by a user when operating a workstation. ○ i.e.: When a user performs a Google search, the ICDE system will transparently store in a database: ■ The search query string ■ Copies of the web pages returned by Google that displays in their browser. ● The data stored in the database can be recovered by third-party software tools that attempt to offer intelligent help to the user. ● These tools might interpret a sequence of user inputs, and try to find additional information to help the user with their current task. ● The unvisited links will be analyzed to extract relevant information that user overlooks. ● Fig. 2.2 depicts a use case diagram for ICDE: 2.3 Project Contect ● The first version of ICDE (v1.0) was developed by small development team. ○ They implemented the Capture User Actions use case. ● The first tangible component was the client that runs on each user workstation, and drove the design and implementation of the data store.
  • 3. The database is an integral part of the rest of system’s functionality. ○ Its design must be suitable to support high transaction rate that a large number of users could potentially generate. ● The first test was made with few users, and it demonstrated the concepts of data capture and storage. ● The design of v1.0 was based upon a simple two-tier architecture, with all components executing on the user’s workstation. ● Fig. 2.3 depicts the design of the first version of ICDE: ● The collection and analysis client components were written in Java and access the data store (server) directly using the JDBC API. ● The role of each component is as follows: ○ Data Collection: ■ Integrates with loosely coupled components1 running on a client workstation. ■ Transparently tracks the user’s relevant activities and store them in the Data Store. ■ Captured events: ● Internet accesses, ● Opened documents, ● Browsed documents, ● Changes made to documents, 1 http://en.wikipedia.org/wiki/Coupling_(computer_programming)
  • 4. ● and some basic windowing information about when the user opens and closes applications on the desktop. ■ Each event has associated a number of attributes: ● x, y coordinates, ● window activation, ● double clicked elements, and so on. ○ Data Store: ■ Compromises a COTS relational database. ■ The DB stores event information in various table to capture user activities, with timestamps. ■ Binary files (i.e.: images, documents, etc.) are stored in Binary Large Object Fields using the native database facilities. ○ Data Analysis: ■ A GUI tool lets to make queries on the data store. ● This was useful for testing purposes. ● Give a general look of the captured data. ● Provides a useful way to analyze data. 2.4 Business Goals ● ICDE v2.0 had much more ambitious aims. ● The previous trial deployments that systems is working, now the sponsors had two major business objective for the next release. These were ○ Allows a third party developer build a, e.g., “stock advisor” that watches the stocks that an analyst is looking at in their browser and informs them of any events in the news that might affect the stock value. ○ Promote the ICDE concepto and tools to potentials customers, in order to enhance their analytical working environment. ● The above objectives are focused on create an environment around the ICDE technology, through: ○ Advisory environment for users in a range of applications domains. ○ a market for third party tools. ● Table 2.1 describes the major objectives identified:
  • 5. In order to attract a third party tool developers, it is essential that the environment has a powerful and easy-to-use application programming interface (API) that could be accessed from any operating system platforms that a developer chooses to use. ● One survey raised that powerful analytical tools might require high-end cluster machines to run. ○ Hence, developers would need the capability to communicate with ICDE deployment over local and wide area networks. ● ICDE must provides the mechanism to accommodate new users: scalability. ● Avoid expensive COTS technologies. ○ This in turn will make the product more attractive in terms of price for clients. 2.5 Constraints ● Technical objectives are so ambitious, hence it would require a different architecture to support distributed data access and communications. ○ Client components like GUI and data capture tools must be stable. ● Changes would only be made to the client to enable it to communicate with the new data management and notification architecture that this project would design. ● A time horizon of 12 months was set for ICDE v2.0. ○ An interim release after 6 months was planned to expose tool developers to the API, and allow them to develop their tools at the same time that ICDE v2.0 was being productized and enhanced. ● Have a fixed schedule. ● Development budget was also fixed. ○ This meant the development resources available would constrain the features that could be included in the v2.0 release.