Académique Documents
Professionnel Documents
Culture Documents
An internship report as specified by the University of Groningen. A week-based list of work accomplished during the internship. An evaluation of the internship (In Dutch . A signed evaluation schema! filled out by the person in charge of the intern.
To be send to: Rijksuniversiteit Groningen Att.: R. Moddemeijer Post !s "## $%&'(## A) *roningen $eder+and,-ie $ieder+ande
"
Internship Report
The company
About the company / Company history
#ith the motto $%cience to &usiness' the company I(I% is presenting itself as a company giving consultation and producing solutions within the field of information management. I(I% stands for Institut fr Informationssysteme und Softwaretechnik and is a small company consisting of ) full-time employees and ") part-time student colleges working on different pro*ects. I(I% also has a pro*ect manager! a technician! a secretary as well as a +,-. .he company is /uite young and was established in 0ay 1222 as an institute at the University of 3assau though a financing of the 4.- (4igh .ech -ffensive 5(reistaat6 &ayern . .he company thus functions as a bridge function between science and business and is run by 3rof. Dr. &urkhard (reitag (+,- and 4ead of the institute and Dr. Ulrich 7ukowski (3ro*ect 0anager 8 Gesch9ftsf:hrer
.ni/ersit0t
1a2!+t0ten
89 8atho+is5h&9heo+ogis5he 1a2!+t0t
Instit!te
17R6ISS Passa!
Instit!t f4r Informationssystem !nd Softwarete5hni2 I(I% derives from the $Lehrstuhl fr Informationsmanagement and is integrated in the interdisciplined network of e;pertise e;isting at the University of 3assau. .his makes it possible for a great knowledge e;change and therefore an optimal cooperation between theory! the newest science research and their use in practice. I(I% has partnerships with many private companies! and is developing software for companies such as Deutsche Bahn. In year 1221 I(I% were selling for )<=.222 ,U>. 1
4ow the company e;actly fits into the university can be seen on the above illustration.
The fields the company is reaching for and their special properties
I(I% bridges science with business and has its e;pertise in the field of information systems and software techni/ue? .echnology consultation o %tudies! Appraisal! +oncepts .echnology transfer o >esearch and development pro*ects 5#here I fit in6 +ertification and further training in Information .echnology o +ollo/uia! In-house %chooling! e-@earning
.he domain and markets that the company is reaching for are within the field of information management! in particular I(I% has products within the field of Anowledge 0anagement! e@earning and #orkflow 0anagement. .hese fields are particular as they work within the domains of %emantic #eb and most developed applications are thus web applications developed with B0@ and middleware such as ,C&! .D,.! and +->&A.
Assignment
The Assessment.Suite
.he assignment is developing an e;tension to the I(I% Assessment.%uite product? The IFIS Assessment.Suite enables easy development of interactive learning environments, exercises, and online/offline examinations. The Assessment.Suite supports the entire life cycle: creation and maintenance of learning tas s !online training !automatic compilation of tests "customi#ed examinations offline and online even on mobile devices !evaluation and analysis of the results. The experience of the IFIS developers in tandem $ith ne$est technologies such as %&', Semantic (eb and Intelligent Tutoring yield excellent acceptance, productivity, and sustainable success.
.he Assessment.%uite is used by some big clients as for instance Deutsche Bahn who have fully redesigned their train driver education and based it on the Assessment.%uite. .he suite is also used by the University of 3assau itself! in particular by the Sprachenzentrum who use it for their Russisch nline system. .he assignment involves implementing a feature re/uest from this client.
Design of the system o Use cases o U0@ design o Design discussions J most written down as well o !flichtenheft o User-interface prototypes Actual implementation and testing
!uture "or#s
.he system is functional and basically complete. +urrently only one type of markers are supported! namely the point markers. In order to make the system work with other kinds of maps as for instance mind maps and not only country maps! other marker types need to be implemented. Doing this should be straight forward as the system has been designed this way and only evolves making a new subclass of the 0arker class as well as make the appropriate changes to the editor C%3-page and associated form and action beans.
Organization
The organi$ation of the company
.he company consists of a +,-! a pro*ect manager! a secretary! a technician! ) full-time employees and some student helpers. 3rof. Dr. &urkhard (reitag? 7ukowski! Ulrich? (alencKyk! Ursula? @enk! Guido? (ull-time employees? +hief ,;ecutive -fficer 8 4ead of the institute 3ro*ect 0anager 8 'Gesch9ftsf:hrer' %ecretary %ystem administrator 8 .echnician DKiarstek! +lausH Guppenberger! 0ichaelH @ehmann! 0arkusH Ditsche! .homasH FGlkl! #olfgangH
to implement the customer re/uest but to implement a much more general solution that can be used by other companies as well. .his means that the I(I% wanted to e;tent the feature set of their Assessment.%uite and at the same time fulfil a customer re/uest. Due to this fact! I(I% has been the customer in my case and the co-worker #olfgang FGlkl has acted as the representative for I(I% and has played a central role in my re/uirement analysis. 3ro*ects meeting have then also been between me and #olfgang FGlkl and the e;act aims of the pro*ect have been compiled in a !flichtenheft! which formed the basis of the further pro*ect completion. During the development! ob*ect-oriented analysis and design methods of software engineering have been used. %ome of the architectural design patterns have been guided be the frameworks and tools in use at I(I%! such as the U0@-designer &orland .ogether and the web-application framework named %truts. .his has resulted in a good /uality assurance. .he developed solution has been tested by making a testing plan and realiKing it. (urther more! the structure of the code base has been looked over by a member of the Assessment.%uite team! before it was integrated in the +F% 4,AD branch of the Assessment.%uite. I have not been part of the deployment or the education of the users of the system.
(0aybe a prototype! which is easier to understand for the customer +ost estimate 8 -ffer Developer ( Ulrich Zukowski in the customer discussion) I. 3roduct re/uirement specifications (!flichtenheft After placing an order! detailed product re/uirement specifications are compiled. .ogether with first prototypes! these serve for the fine tuning with the customer. Developer ). Draft - detailed specification - implementation J testing Developer L. Delivery for the customers I(I% fre/uently takes over the hosting of the web applications (at least in a sample operating phase . .his means that the delivery fre/uently only consist of handing over some passwords. Developer <. .esting phase (rom the result of the testing! the customers can deliver their last suggestions for improvement! which will then be considered. Developer =. Acceptance by the customer !ustomer
appointments in your -utlook calendar such as the weekly company meeting that you need to attend on time! and where punctuality is e;pected. .he organiKation structure and work processes also seem to work /uite well. 3ro*ects are finished in a timely manner! and the /uality of the result is high as well as the satisfaction of the costumers.
I work here as was I a full-time employee. I work on my own part of the system (my pro*ect and thus have my own area of responsibility. %ince I am doing an internship it is! of course! a bit differently as was I hired by the company. In particular! people understand that the things are new to me and that I thus work slower and ask basic /uestion from time to time. ,ven thought this is the case! I have felt that I was an employee of the company the time that I have spent here and have thus gotten a good idea how it would be working here for real.
Conclusion
"hat I have learned
%ome of these things that I have learned have been technically and others are more related to working in a company. It has been very nice for me to feel how it is to put my many years of study into practise. #orking turned out to be appro;imately how I e;pected it to be! and I have confirmed that I can easily fit in a software company. -n the technical front I have learned much. &efore my internship at I(I%! I have mostly worked with developing standalone programs (mostly for the GD-0, desktop environment and have seldom touched web development! as it did not caught my interest. #orking at I(I% I have learned how to develop large scalable! easy maintainable enterprise web applications and I have since become very interested in web development and the associated techni/ues. 0ost of the web solutions that I have developed before *oining I(I% have been using 343 with embedded database assess. .his has worked satisfactory for my small pro*ects! but now I have the knowledge to develop large enterprise web applications with the business logic! etc nicely separated from the user interface using the 0odel-Fiew-+ontroller-II design pattern. During my work here I have had to use two tools that I have never touched before. .he first is the open source ID, called ,clipse. .hough! I have heard about ,clipse before and even developed a small Cava pro*ect with it! I was unaware of the power and fle;ibility of this O
integrated development environment. .he other tool was &orland .ogether which is a U0@ modeller which can work on the Cava code directly. .he web products at I(I% are realiKed by using a collection of Cava compatible technologies! many of which are open source. .he 0odel-Fiew-+ontroller-II design is realiKed by using Cava! C%3 and the Apache %truts framework. Additionally! a persistence framework is used for database access which is called 4ibernate. 0any other smaller technologies are also used as Display .ag @ib! Cava #eb%tart! @ogging libraries etc. It has been a *oy to learn these technologies and how they fit together! and I have also had some time to look into alternative techni/ues and evaluate them a little bit. (or my assignment I had the design option to use Cava%cript or a Cava applet for my user interface and ended up going for a Cava%cript solution! though that I have never worked with Cava%cript before. I have learned that Cava%cript is a bit $dirty'. #ith this I mean! that it is hard to write good Cava%cript code and it is very hard to debug it. Cava%cript is supposed to work in all ma*or web browsers but it turns out that the implementation for each browser is a bit different and you have to special-case most of your code. Another problem is that Cava%cript doesnNt integrate very well with other technologies used as for instance %truts. Generally! I have learned that developing web applications for different web browsers can be a pain. %ince things that you e;pect to work the same way *ust does not and you have to find alternative solutions which do not improve the usability. Developing interactive #eb Interfaces is hard and it makes you idolise the good people at Google for developing such comple; A*a; 5"6 applications as for instance G0ail (http?88www.gmail.com and Google 0aps (http?88maps.google.com . Another thing that I have learned during my internship is how easily I can fit into a different culture. 0y internship has been completed in &avaria in Germany and language and culture differences have not proven a problem in my work! though all oral communication has been in German.
0ore than E12 classes 0ore than "".222 lines of pure code (comments! braces! brackets and the like are not counted 0ore than I) database tables
""
proud of. It also results in lots of feedback (directly from users! reviews! articles etc that you can consider in your ne;t version. .he other reason is that I am working with new technology and have the option to invent J to go beyond what others do todayP #hether my work should be developing a new desktop-wide search tool or working on the user-interface of a particular program! I do not mind! but developing software for a broad audience and inventing is what I really like. Due to these facts I would like to work on GD-0, professionally by for instance working for >ed 4at! Dovell or Dokia. I would also very much like working for a company as Apple! working on an operation system that is much more close to what I want? the 0ac-% B. 3rogramming languages 0y other interest is programming languages and related technologies. Due to the fact that I have been programming for many years now I have grown to hate and love different programming languages! tools! and class libraries. .his has made me very interested in new trends on this front such as Aspect -riented 3rogramming! .D,.! Architectural (rameworks etc. #orking on the GD-0, pro*ect I have also been following the design of much of the infrastructure and have learned from the mistakes made by the GD-0, pro*ect. A pro*ect spawning from the fact that the GD-0, infrastructure was to hard to use! is the 0ono pro*ect. A pro*ect with the goal of implementing the 0icrosoft .D,. framework for UDIB-like systems as well as integrating it well with the GD-0, pro*ect. I could see myself working on this pro*ect by for instance working for Dovell! 0ainsoft or one of the other contributors.
References
5"6 http?88www.adaptivepath.com8publications8essays8archives8222E=).php
"1
"E
and playing with new tools and technologies as? .omcat! 4ibernate! 3ostgre%Q@! Cava %erver 3ages! BDoc@et! Ant! %truts etc. .he only way to really get to know the product was trying to implement my prototype with my preliminary design and then ask when I ran into problems and then adapt my design. .his way I got to know how the system worked and got better ideas on how to design my e;tension so that it would work with the e;isting system. Doing this wasnNt as easy task as I had not worked with many of the technologies before! the code base is reasonable large! and because some of the technologies used were abstracted in the actual implementation. &y the end of forth week I had the user interface working on the web server generating dynamically pages and maps (images based on static data.
"I
")
Evaluatie So tware!Engineering!stage
Aenneth >ohde +hristiansen! Culy the "st! 122)-2L-1I "egenda: a # c d n$v$t$ ". 1. E. I. ). L. <. =. O. "2 . "" . "1 . "E . "I . ") . "L "< . "= . "O . R helemaal mee eens R mee eens R mee oneens R helemaal mee oneens R niet van toepassing Ik vond het fi*n de vri*heid te hebben mi*n eigen stage te kunnen regelen. De begeleiding bi* de stage vanuit de opleiding was goed. De begeleiding bi* de stage vanuit de installing8het bedri*f waar ik stage liep! was voldoende. #anneer ik problemen had! kon ik die goed bespreken met mi*n stagebegeleider. #anneer ik problemen had! kon ik die goed bespreken met mi*n dageli*ks begeleider. 0i*n begeleider besteedde voldoende ti*d aan mi*n begeleiding. 0i*n dageli*ks begeleider was voldoende kritisch. ,igenli*k werd ik niet begeleid Ik werd ti*dens mi*n stage teveel aan mi*n lot overgeladen ,r waren duideli*ke afspraken tussen mi*n stagebegeleider en mi*n dageli*ks begeleider. .i*dens mi*n stage kreek ik goed inKicht op mi*n tekorten in vaardigheden. 0i*n inhoudeli*ke kennis was voldoende om goed te kunnen functioneren op mi*n stageplaats. .i*dens de stage Kou er meer contact moeten Ki*n met de opleiding. 4et schri*ven van het stageverslag kostte mi* meer ti*d dan ik had verwacht De eisen die aan het stageverslag gesteld werden waren mi* vooraf duideli*k .i*dens het schri*ven van het stageverslag had ik graag meer begeleiding gehad. Door de stage heb ik een beter beeld gekregen van de beroepsprakti*k Ik heb ti*dens mi*n stage veel geleerd. 4et was mi* duideli*k hoe de stage beoordeeld werd. % & % % % & & D ! n$v$t$ & & ! & & & % % &
'elke vakken( die )e gevolgd he#t *i)n nuttig geweest voor de stage+
"L
%oftware Architecture! %tudent +olli/uium S veel &achelorvakken die ik in Denemarken gevolgd heb. 'elke vakken( welke )e nog niet he#t gevolgd denk )e dat nuttig *ullen *i)n+ -rganiKation and 0anagement of %oftware 3ro*ect .eams 'elke vaardigheden,kennis he# )e gemist( maar he# )e toch nodig gehad in de stage+ 0eer kennis van #eb-Application (rameworks! van Integrated Development ,nvironments (ID,s net als ,clipse en een beet*e meer kennis van vaak gebruikte Design 3atterns. 'as het werk dat )e doen kreeg uitdagend genoeg+ Ca! en ook Keer interessantP Zou )e het werk wat )e ti)dens )e stage he#t gedaan ook na )e afstuderen willen doen+ Ca! maar er Ki*n een paar dingen die ik liefer wil doen. -ventuele overige opmerkingen: Dee.
"<
STA"#A#$!%EOO$&E'#("S)O$*+'#E$ #( TE V+''E( &OO$ &E STA"E!VE$'E(E$ Daam stagiair? Daam stage-verlener? .egevens #edri)f Daam? Institut f:r Informationssysteme und %oftwaretechnik (I(I% Adres? Universit9t 3assau! Institutsgeb9ude Gottfried-%ch9ffer-%traTe 12! D-OI2E1 3assau &etreft %tage-periode van 1).I.122) tot ".<.122) Aantal werkdagen afweKig? &-//0D-"12.: 3raktische vaardigheden InKicht in de werksituatie 7elfstandigheid Initiatieviteit &elangstelling +ontactuele eigenschappen 3robleem oplossend vermogen U onvoldoende U voldoende V goed U onvoldoende U voldoende V goed U onvoldoende V voldoende U goed U onvoldoende U voldoende V goed U onvoldoende U voldoende V goed U onvoldoende U voldoende V goed U onvoldoende U voldoende V goed Aenneth >ohde +hristiansen Ulrich 7ukowski
-indoordeel stage (ci)fer tussen 3 $$ 34): Toelichting #i) een negatief oordeel:
5 (Deun
34 (7ehn
"r wordt #anuit gegaan dat dit $eoordelingsformulier met de stagiair is $esproken% Gelieve dit formulier getekend mee te geven aan de stagair.
"=