87 research outputs found

    A Methodology for Operationalizing Enterprise Architecture and Evaluating Enterprise IT Flexibility

    Get PDF
    We propose a network-based methodology for analyzing a firm’s enterprise architecture. Our methodology uses “Design Structure Matrices” (DSMs) to capture the coupling between components in the architecture, including both business and technology-related elements. It addresses the limitations of prior work, in that it i) is based upon the actual architecture “in-use” as opposed to planned or “idealized” versions; ii) identifies discrete layers in a firm’s architecture associated with different technologies (e.g., applications, servers and databases); iii) reveals the main “flow of control” within an architecture (i.e., the set of inter-connected components); and iv) generates measures of architecture that can be used to predict performance. We demonstrate the application of our methodology using a novel dataset developed with the division of a large pharmaceutical firm. The dataset consists of all components in the enterprise architecture, the observed dependencies between them, and estimated costs of change for software applications within this architecture. We show that measures of the architecture derived from a DSM predict the cost of change for software applications. In particular, applications that are tightly coupled to other components in the architecture cost more to change. The analysis also shows that the measure of coupling that best predicts the cost of change is one that captures all direct and indirect connections between components (i.e., it captures the potential for changes to propagate via all possible paths between components). Our work represents an important step in making the concept of enterprise architecture more operational, thereby improving a firm’s ability to understand and improve its architecture over time

    Design, implementation, and evaluation of an ICT-supported collaboration methodology for distributed requirements determination

    Full text link
    As information systems development becomes more distributed, information and communication technology (ICT) has become crucial to overcome distance and to enable collaboration between system users and analysts. This study presents the design, implementation, and experimental evaluation of a new technology-supported collaborative methodology for requirements determination. The new ICT-supported methodology enables the elicitation, analysis, specification, and validation of requirements in a distributed environment. Its design follows the theoretical principles of Te’eni’s (2001) cognitiveaffective model of organizational communication for IT design and combines established methods as well as techniques for requirements identification, formulation, dependency determination, prioritization, and selection in a coherent and innovative way. The resulting prototype is professionally implemented and evaluated in an experiment. The experiment is the first to compare the performance of traditional ways of communication via interviews and document exchange with that of communication via an Internet-based collaboration platform for requirements determination. The results show that, both, the efficiency of the overall requirements determination process as well as the overall quality of the resulting requirements, are higher when using the new collaborative methodology. In terms of quality, efficiency, the user and analyst perspectives need to be distinguished. While the effort for requirements elicitation increases for the analysts, this up-front investment pays off in terms of significantly lower effort for the later specification and validation of requirements. In contrast, the users benefit in particular from lower effort during requirements elicitation and analysis

    Early aspects: aspect-oriented requirements engineering and architecture design

    Get PDF
    This paper reports on the third Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design Workshop, which has been held in Lancaster, UK, on March 21, 2004. The workshop included a presentation session and working sessions in which the particular topics on early aspects were discussed. The primary goal of the workshop was to focus on challenges to defining methodical software development processes for aspects from early on in the software life cycle and explore the potential of proposed methods and techniques to scale up to industrial applications

    User evaluation of the performance of information systems

    Get PDF
    Information technologies (IT) are considered the primary survival factor for many organizations and the most critical success factor in businesses today. To justify the necessary investment in IT, user evaluation of information systems\u27 performance in organizations is a key consideration. This research investigated a comprehensive and convenient means for end users to assess this performance. Among the existing theories and models on the evaluation of information system performance based on intrinsic technological properties, the Web of System Performance (WOSP) model provides the most comprehensive basis for information system evaluation, and therefore merited further investigation. The research question was how well the eight WOSP performance criteria, namely functionality, usability, flexibility, reliability, security, extendibility, connectivity, and privacy, applied in the context of an individual evaluating one or more information systems for use by an organization. For this, it was important to show that, while these performance criteria were abstract concepts, they can be established and identified clearly, in a manner that is valid in the sense of the meaning and that users would consider important. Illustrative statements for each of the eight criteria were therefore obtained, which users were asked to evaluate. Next, it was necessary to show that users prefer the choice of the eight WOSP criteria to the current dominant instrument for evaluation when evaluating software. This was done using a preference questionnaire where subjects rated both the WOSP model and an alternative means of evaluation along various dimensions, the results being compared by statistical analysis. Finally, it was necessary to show that users rate at least three of the WOSP criteria as being important for evaluating information systems. For this, conjoint analysis was used. A browser was selected as the experimental software for this research. The results showed that users found illustrative statements clear, valid and important for the evaluation of browsers. They also preferred using the WOSP model for the evaluation of browsers over TAM, the current dominant model. Finally, while users attached different levels of importance to the various performance criteria for the selection of browsers, five of the criteria were important to a significant degree

    Genetic Algorithms in Software Architecture Synthesis

    Get PDF
    Ohjelmistoarkkitehtuurien suunnittelu on kriittinen vaihe ohjelmistokehitystä, sillä arkkitehtuuri määrittelee ohjelmiston rungon: miten ohjelma jaetaan eri komponentteihin, ja miten komponentit ovat yhteydessä toisiinsa. Ohjelmisto voidaan yleensä toteuttaa toimivasti monella eri tavalla, mutta toimiva toteutus ei aina takaa, että ohjelmisto on myös toteutettu laadukkaasti. Laadun takeena onkin huolella ja taidolla suunniteltu arkkitehtuuri. Ohjelmistoarkkitehtuurin suunnittelu on haastavaa. Suunnitelmaa tehdessä tulee ottaa huomioon monen eri sidosryhmän (esim. käyttäjä, toteuttaja, markkinoija) vaatimukset ja miettiä, miten mahdollisimman suuri osa vaatimuksista voidaan toteuttaa arkkitehtuurissa. Arkkitehtuurisuunnittelu vaatiikin kokeneen ohjelmistoarkkitehdin, joka on hankkinut tietotaitonsa vuosien ajalta eri ohjelmistoprojekteista. Kokemukseen perustuvan tiedon lisäksi ohjelmistoarkkitehtuurisuunnittelun käytäntöjä on koottu eräänlaisiksi katalogeiksi, joissa esitellään hyväksi havaittuja ratkaisuja, ns. suunnittelutyylejä ja -malleja, yleisiin arkkitehtuurisuunnitteluongelmiin. Voidaankin ajatella, että arkkitehtuuri tuotetaan etsimällä (kokemukseen nojaten) paras mahdollinen kombinaatio suunnittelumalleja ja -tyylejä. Arkkitehtuurin suunnittelu onkin siis eräänlainen optimointiongelma. Ohjelmistoista tulee jatkuvasti yhä monimutkaisempia. Sovelluksien monimutkaistuessa myös arkkitehtuurisuunnittelu muuttuu entistä vaikeammaksi ja vie yhä enemmän aikaa. Suunnittelun perustuminen hiljaiseen tietoon ja arkkitehtien kokemukseen tekee prosessista yhä hitaamman ja läpinäkymättömämmän. Arkkitehtuurisuunnittelun automatisointi toisikin suuria säästöjä. Henkilöstövaihdosten yhteydessä ei myöskään tarvitsisi pelätä tietotaidon katoamista, kun arkkitehtuurisuunnittelu olisi helposti toistettavissa aina alusta lähtien. Tässä väitöskirjassa on tutkittu, miten parhaan mahdollisen ratkaisun etsintäprosessin (eli suunnittelumallien ja -tyylien soveltamisen) voisi automatisoida. Monimutkaisissa optimointiongelmissa käytetään etsintäalgoritmeja, jotka haravoivat hakuavaruutta jollain satunnaistetulla menetelmällä. Yksi suosituimmista etsintäalgoritmeista on geneettinen algoritmi. Geneettiset algoritmit tarkastelevat aina pientä ratkaisujoukkoa kerrallaan ja etsivät parasta ratkaisua yhdistelemällä osia löydetyistä ratkaisuista sekä muuntelemalla ratkaisuja. Jokaiselle ratkaisulle lasketaan laatuarvo, ja luonnonvalintaa jäljitellen jatketaan parhaiden vaihtoehtojen tarkastelua sekä kehittelyä ja hylätään huonoimmat ratkaisut. Etsintäalgoritmien käyttämistä ohjelmistokehityksen ongelmiin, esim. ohjelmistosuunnitteluun, testaukseen ja projektinhallintaan, kutsutaan etsintäperustaiseksi ohjelmistokehitykseksi. Väitöskirja kuuluu etsintäperustaisen ohjelmistosuunnittelun alaan, ja siinä tutkitaan ns. ohjelmistoarkkitehtuurisynteesiä geneettisten algoritmien avulla. Ohjelmistoarkkitehtuurisynteesi lähtee ns. nolla-arkkitehtuurista , joka toteuttaa järjestelmän toiminnalliset vaatimukset, mutta ei ota kantaa laatuvaatimuksiin. Laatua pyritään parantamaan lisäämällä lähtöarkkitehtuuriin suunnittelutyylejä ja -malleja. Väitöskirjassa laatuarviointiin on käytetty muunneltavuutta, tehokkuutta ja ymmärrettävyyttä. Lopputuloksena saadaan ehdotus arkkitehtuurista, joka toteuttaa toiminnalliset vaatimukset ja on myös laadukas. Geneettisiä algoritmeja ei ole aiemmin sovellettu vastaavantasoisiin suunnitteluongelmiin, joten toteutuksessa on kehitetty uusi tapa mallintaa arkkitehtuuri geneettiselle algoritmille sekä laskukaava arkkitehtuurin laadulle. Perustoteutuksen lisäksi myös geneettisen algoritmin eri ominaisuuksia, ns. risteytysoperaatiota ja laatufunktiota on tutkittu tarkemmin, ja niille on kehitetty vaihtoehtoisia toteutuksia. Tapaustarkasteluista saadut tulokset osoittavat, että tällä hetkellä geneettisiin algoritmeihin perustuvaa arkkitehtuurisynteesi tuottaa suunnilleen samantasoisia ratkaisuja kuin kolmannen vuosikurssin ohjelmistotekniikan opiskelija.This thesis presents an approach for synthesizing software architectures with genetic algorithms. Previously in the literature, genetic algorithms have been mostly used to improve existing architectures. The method presented here, however, focuses on upstream design. The chosen genetic construction of software architectures is based on a model which contains information on functional requirements only. Architecture styles and design patterns are used to transform the initial high-level model to a more detailed design. Quality attributes, here modifiability, efficiency and complexity, are encoded in the algorithm s fitness function for evaluating the produced solutions. The final solution is given as a UML class diagram. While the main contribution is introducing the method for architecture synthesis, basic tool support for the implementation is also presented. Two case studies are used for evaluation. One case study uses the sketch for an electronic home control system, which is a typical embedded system. The other case study is based on a robot war game simulator, which is a typical framework system. Evaluation is mostly based on fitness graphs and (subjective) evaluation of produced class diagrams. In addition to the basic approach, variations and extensions regarding crossover and fitness function have been made. While the standard algorithm uses a random crossover, asexual reproduction and complementary crossover are also studied. Asexual crossover corresponds to real-life design situations, where two architectures are rarely combined. Complementary crossover, in turn, attempts to purposefully combine good parts of two architectures. The fitness function is extended with the option to include modifiability scenarios, which enables more targeted design decisions as critical parts of the architecture can be evaluated individually. In order to achieve a wider range of solutions that answer to competing quality demands, a multi-objective approach using Pareto optimality is given as an alternative for the single weighted fitness function. The multi-objective approach evaluates modifiability and efficiency, and gives as output the class diagrams of the whole Pareto front of the last generation. Thus, extremes for both quality attributes as well as solutions in the middle ground can be compared. An experimental study is also conducted where independent experts evaluate produced solutions for the electronic home control. Results show that genetic software architecture synthesis is indeed feasible, and the quality of solutions at this stage is roughly at the level of third year software engineering students
    • …
    corecore