SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 

Kürzlich hochgeladen (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 

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.