A Study of Industrial, Component-Based Development, Ericsson SIF8094 Fordypningsprosjekt Ole Morten Killi Henrik Schwarz Stein-Roar Skånhaug NTNU, 12. des. 2002
Oppgaven Studie av state-of-the-art : utviklingsprosesser med fokus på komponentidentifikasjon (RUP, KobrA, COMET) standarder for komponent-spesifikasjon (UML 2.0, CCM, RAS) Studie av dagens situasjon hos Ericsson Forslag til forbedringer av dagens situasjon
Rational Unified Process (RUP) Iterativ utvikling Støtter komponentbasert utvikling Mangler aktiviteter for identifikasjon av komponenter (design for and with reuse) Komponenter er ikke logiske entiteter i Analysis & Design workflow
KobrA Utviklingsprosess utviklet av Softlab GmbH, Psipenta GmbH, GMD-FIRST og Fraunhofer IESE Prøver å holde fokus på komponenter under hele utviklingsperioden Består av 4 hovedmodeller som til sammen beskriver en komponent (i realiseringsfasen inngår ytterligere 2 modeller)
KobrA forts. Har en produktlinje tilnærming med egne separate aktiviteter for utvikling av rammeverk og applikasjon
COMET Utviklingsprosess utviklet som en del av Open Business Object Environment (OBOE) prosjektet til ESPRIT framework IV Fokus på distribuerte systemer Består av 3 modelleringsfaser: business modeling, component-modeling and implementation modeling
Sammenligning av prosesser Method KobrA COMET RUP Background Academic (/Industry) Academic Industry Type of process Development Development and management Development and management Usage of methodology Industry partners are probably the only users of today Only in user case within OBOE project Adopted by some major players Process support Not prescriptive. Supports a range of methods Milestones; Guidelines Milestones; Guidelines; templates; and tool mentors Applied in what phases of software development Requirements, analysis & design and implementation Analysis & design and implementation Requirements, analysis & design and implementation Component identification process (including variant functionality for identifying reusable components) (no specific activities on identification) Units of reuse Components; frameworks Components; patterns; frameworks Software components Components defined in KobrA Components (Komponents) Business Objects (BO) UML components Implementation platform Platform independent Business Objects framework (BOF) on top of CORBA Platform independent Easily integrable with RUP N/A
UML 2.0 Fordeler kontra UML 1.x: Støtter komponentbasert utvikling Spesifikasjon av komponenter tidligere i designfasen Gjenbruk og utskifting av komponenter ved bruk av porter (required / provided interfaces) Modellering av logiske komponenter Forbedrete sekvensdiagrammer Men: ikke en ferdig standard
CORBA Component Model (CCM) Utvider CORBA med støtte for komponenter Fordeler: Tilbyr mange ferdiglagde tjenester som brukes mye (transaksjoner, sikkerhet, osv.) Port -mekanisme som i UML 2.0 Plattform- og språk-uavhengig (bruker IDL) Ulemper: Stor og komplisert standard Relativt ny, lite erfaringer tilgjengelig
Reusable Asset Specification (RAS) En standard for å organisere og spesifisere Assets for gjenbruk RAS bruker UML for å beskrive Assets Oversikt Logisk oppbygning (består av flere artifacts) Kategori (Variability, Granularity, Articulation) Bruksområde (søkbar komponent-database) Integrerbar med RUP
Sammenligning av standarder Standard UML 1.x UML 2.0 CCM RAS Type of standard Modeling language for OO systems Modeling language for OO and componentbased systems Framework for constructing component-based CORBA system Specification of reusable assets Support for Component- Based Development Inadequate Specification of component in what part of design Deployment diagram (late in design phase) High level design (early in design phase) High level design (early in design phase) All parts of design phase Component interaction Interfaces Ports Ports N/A Tool support Numerous tools exist None Several tools exist Plug-in for Rational Rose and stand-alone application Platform independent
Dagens situasjon hos Ericcson GSN RUP Samme problemer som RUP ang. komponentidentifikasjon (design for and with reuse) Ingen produktlinje-tilnærming Modelleringspraksis med UML 1.4 Bruker pakker og stereotyp-klasser for å få til modellering av komponenter i Rational Rose Må vedlikeholde to views for å kunne generere IDL-kode, medfører dobbeltarbeid og mulig inkonsistens
Våre forslag til forbedringer Undersøke mulighetene for å bruke KobrAs aktiviteter for komponent-identifikasjon i GSN RUP. Undersøke mulighetene for å opprette egne aktiviteter for utvikling av rammeverket slik at GSN RUP får en produktlinje-tilnærming. Integrere RAS i GSN RUP. Undersøke muligheten for å integrere UML 2.0 og CCM i modelleringspraksisen i Ericsson.
Spørsmål?