ABHELSINKI UNIVERSITY OF TECHN

Samankaltaiset tiedostot
ABHELSINKI UNIVERSITY OF TECHN

ABHELSINKI UNIVERSITY OF TECHN

ABHELSINKI UNIVERSITY OF TECHN

7.4 Variability management

Efficiency change over time

Capacity Utilization

7. Product-line architectures

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Kysymys 5 Compared to the workload, the number of credits awarded was (1 credits equals 27 working hours): (4)

Information on preparing Presentation

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

The CCR Model and Production Correspondence

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

Results on the new polydrug use questions in the Finnish TDI data

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Other approaches to restrict multipliers

MUSEOT KULTTUURIPALVELUINA

16. Allocation Models

812336A C++ -kielen perusteet,

toukokuu 2011: Lukion kokeiden kehittämistyöryhmien suunnittelukokous

Constructive Alignment in Specialisation Studies in Industrial Pharmacy in Finland

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

Statistical design. Tuomas Selander

Hankkeen toiminnot työsuunnitelman laatiminen

Tarua vai totta: sähkön vähittäismarkkina ei toimi? Satu Viljainen Professori, sähkömarkkinat

Skene. Games Refueled. Muokkaa perustyyl. for Health, Kuopio

Telecommunication Software

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

Innovative and responsible public procurement Urban Agenda kumppanuusryhmä. public-procurement

Salasanan vaihto uuteen / How to change password

Uusia kokeellisia töitä opiskelijoiden tutkimustaitojen kehittämiseen

Choose Finland-Helsinki Valitse Finland-Helsinki

AYYE 9/ HOUSING POLICY

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

TietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1

VAASAN YLIOPISTO Humanististen tieteiden kandidaatin tutkinto / Filosofian maisterin tutkinto

ECVETin soveltuvuus suomalaisiin tutkinnon perusteisiin. Case:Yrittäjyyskurssi matkailualan opiskelijoille englantilaisen opettajan toteuttamana

Tilausvahvistus. Anttolan Urheilijat HENNA-RIIKKA HAIKONEN KUMMANNIEMENTIE 5 B RAHULA. Anttolan Urheilijat

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Helsinki Metropolitan Area Council

Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille?

Collaborative & Co-Creative Design in the Semogen -projects

Prosessien kehittäminen. Prosessien parantaminen. Eri mallien vertailua. Useita eri malleja. Mitä kehitetään?

make and make and make ThinkMath 2017

TIETEEN PÄIVÄT OULUSSA

anna minun kertoa let me tell you

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

Windows Phone. Module Descriptions. Opiframe Oy puh Espoo

Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies

Alternative DEA Models

Security server v6 installation requirements

TAMPEREEN TEKNILLINEN YLIOPISTO Teollisuustalous

Security server v6 installation requirements

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

ENE-C2001 Käytännön energiatekniikkaa. Aloitustapaaminen Osa II: Projekti- ja tiimityö

Curriculum. Gym card

Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku Centre for Language and Communication Studies

EUROOPAN PARLAMENTTI

Miksi Suomi on Suomi (Finnish Edition)

Information on Finnish Language Courses Spring Semester 2017 Jenni Laine

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Sisällysluettelo Table of contents

Kokonaisarkkitehtuurin omaksuminen: Mahdollisia ongelmakohtia ja tapoja päästä niiden yli

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

TU-C2030 Operations Management Project. Introduction lecture November 2nd, 2016 Lotta Lundell, Rinna Toikka, Timo Seppälä

LUONNOS RT EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May (10)

Oma sininen meresi (Finnish Edition)

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Immigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.

Toimitusketjun vastuullisuus ja riskien hallinta

OP1. PreDP StudyPlan

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

LYTH-CONS CONSISTENCY TRANSMITTER

Guidebook for Multicultural TUT Users

2017/S Contract notice. Supplies

PROJEKTI- PÄÄLLIKÖSTÄ PRODUCT OWNERIKSI MEERI CEDERSTRÖM

Rakentamisen 3D-mallit hyötykäyttöön

HITSAUKSEN TUOTTAVUUSRATKAISUT

Perspectives on the future

Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija

Expression of interest

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

Gap-filling methods for CH 4 data

Tietojenkäsittelytieteiden koulutusohjelma. Tietojenkäsittelytieteiden laitos Department of Information Processing Science

Opiskelijoiden ajatuksia koulun alkuun liittyen / students thoughts about the beginning of their studies at KSYK

Tietorakenteet ja algoritmit

A new model of regional development work in habilitation of children - Good habilitation in functional networks

2 Description of Software Architectures

MEETING PEOPLE COMMUNICATIVE QUESTIONS

Ohjelmien kehittämisstudiot varmistavat laadukkaat ja linjakkaat maisteriohjelmat Maire Syrjäkari ja Riikka Rissanen

Basic Flute Technique

Organisaation kokonaissuorituskyvyn arviointi

Transkriptio:

Software Business and Engineering Institute Casper Lassenius ABHELSINKI UNIVERSITY OF TECHN Software Business and 1(7) Engineering Insti Casper Lassenius, Introduction to Software Engineering Mid-term Exam 1, Take 1, Instructions: Write your name, student number, degree program and signature in the reserved space below Write your name and student number at the bottom of each sheet Answer the questions in the spaces provided on the question sheets. If you run out of room for an answer, continue on the back of the page. You can answer in English, Finnish or Swedish. Ohjeita: Kirjoita nimesi, opiskelijanumerosi, koulutusohjelmasi sekä allekirjoituksesi alla olevaan tilaan Kirjoita nimesi ja opiskelijanumerosi jokaisen paperin alareunaan Vastaa kysymyksiin koepaperissa varattuun tilaan. Jos tarvitset lisätilaa, kirjoita paperin takapuolelle. Voit vastata englanniksi, suomeksi tai ruotsiksi. Instruktioner: Skriv ditt namn, studentnummer, utbildningsprogram samt underskrift i det reserverade utrymmet nedan Skriv ditt namn och studentnummer nere på varje ark Besvara frågorna i utrymmet på provpappren. Om du behöver mera utrymme kan du skriva på arkets baksida. Du kan svara på engelska, svenska eller finska. 1. Define the following terms. Määrittele seuraavat termit. Definiera följande termer. (a) Software Engineering. Ohjelmistotuotanto. Programvaruproduktion. Solution: One of the following: The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. IEEE: 1. The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software 2. The study of approaches in (1) (b) Agile Software Development. Ketterä ohjelmistokehitys. Vig (agil) programvaruutveckling. Solution: An approach to software development that combines a philosophy and a set of development guidelines. The philosophy encourages customer satisfaction and early incremental delivery of software; small, highly motivated project teams; informal methods; minimal software engineering work products; and overall development simplicity. The development guidelines stress delivery over analysis and design, and active and continuous communication between developers and customers.

2(7) (c) Use-case. Käyttötapaus. Use-case. Solution: A sequence of actions that provide value to actors. UML defined use-case diagrams, in which use-cases are drawn as ellipses, and actors as stick figures. The relationships between actors and use-cases are drawn as lines. (d) Regression testing. Regressiotestaus. Regressionstestning. Solution: The testing of a piece of software after changes have been made to it to ensure that the changes did not result in unexpected problems. Can be done manually or by reexecuting (a subset) of test cases. Not the same as retesting, which test that a particular problem that has been fixed has disappeared. Use case-diagrams often depict the system boundary using box(es). (e) CMMI. Solution: A process meta-model that is predicated on a set of system and software engineering capabilities that should be present as organizations reach different levels of process maturity and capability. Contains both a stegd and a continuous model. Used for process assessment and improvement. (f) Smoke testing. Savutestaus. Röktestning. Solution: An integration testing approach that is based upon a set of (typically automated) tests that are run for every new build of the software (typically daily).

3(7) 2. Are the following statements true or false? Mark a T for true statements, and an F for false ones. If you don t know, leave the row empty. You will get +1 p for a correct answer, 0p for an empty answer, and -1 p for an incorrect answer. The maximum score for this question is 10, and the minimum 0, i.e., you will not get a negative score even if you have more incorrect than correct answers. Ovatko seuraavat väittämät oikeita vai vääriä? Kirjoita O oikean väittämän ja V väärän väittämän jälkeen. Jos et tiedä, jätä vastaamatta. Oikeasta vastauksesta saat +1 p, tyhjästä 0p ja väärästä -1 p. Tehtävän maksimipistemäärä on 10 ja minimi 0, eli et saa negatiivista pistemäärää vaikka sinulla olisi enemmän vääriä kuin oikeita vastauksia. Är följande påståenden sanna eller falska? Skriv S efter de som är sanna och F efter de som är falska. Om du inte vet, lämna tomt. Du får +1 p för korrekt svar, -1 p för fel svar, och 0p för tom lucka. Maximipoängen för denna uppgift är 10, och minimi 0. Du kan alltså inte få negativa poäng fastän du skulle ha flera inkorrekta än korrekta svar. (a) A central theme in the waterfall model is risk management. Vesiputousmallin keskeinen teema on riskien hallinta. Riskhantering är ett centralt tema i vattenfallsmodellen. (a) (b) Software configuration management is solely concerned with the management of different versions of software development artifacts. Ohjelmistokonfiguraationhallinta keskittyy pelkästään eri ohjelmistoartefaktien versioiden hallintaan. Programvarukonfigurationskontroll innebär endast hantering av olika versioner av programvaruartifakter. (b) (c) The term software as used in the field of software engineering refers only to the machine readable code produced by, e.g., a compiler. Termi ohjelmisto ohjelmistotuotannossa viittaa ainoastaan esim. kääntäjän tuottamaan koneluettavaan koodiin. Termen software inom programvaruproduktion refererar endast till den maskinläsbara koden som produceras t.ex. av en kompilator. (c) (d) A good modularization has high cohesion and low coupling. Hyvässä moduulijaossa on korkea koheesio ja matala modulien välisten kytkösten taso. En god modularisering har hög kohesion och låg koppling. (d) Solution: True

4(7) (e) Software project planning should be done only at the outset of the project, not later. Ohjelmistoprojektin suunnittelu on aktiviteetti, joka suoritetaan ainoastaan projektin alussa. Projektplanering bör göras endast i början av projektet. (e) (f) Using a waterfall life-cycle model makes it easy to react to requirement changes late in the project. Vesiputousmallin käytöllä voidaan helposti reagoida vaatimusmuutoksiin, jotka tulevat projektin myöhäisessä vaiheessa. Genom att använda vattenfallsmodellen kan man göra det lätt att reagera på kravförändringar som kommer in i ett sent skede av projektet. (f) (g) Alpha testing involves a large number of end-users. Ohjelmiston alfatestaukseen osallistuu suuri määrä loppukäyttäjiä. Alfatestning involverar ett stort antal slutanvändare. (g) (h) PSP is a process improvement methodology targeting individual software engineers. PSP on yksittäisiin ohjelmistoinsinööreihin keskittyvä prosessinparannusmenetelmä. PSP är en processförbättringsmetod som koncentrerar sig på den enskilda programingenjören. (h) Solution: True (i) extreme Programming (XP) is an agile software development methodology especially suitable for well-defined and large projects. extreme Programming (XP) on ketterä ohjelmistokehitysmenetelmä, joka soveltuu eritysesti hyvin määriteltyjen, isojen ohjelmistoprojektien käyttöön. extreme Programming (XP) är en vig (agile) programvaruutvecklingsmetod som speciellt väl passar för väldefinierade och stora utvecklingsprojekt. (i)

5(7) (j) Function points is a function-oriented metric which is independent of the programming language being used. Toimintopiste on ohjelmiston toimintoihin liittyvä mittari joka on riippumaton käytössä olevasta ohjelmointikielestä. Funktionspoäng (function points) är mätare av ett programs funktionalitet som är oberoende av använt programmeringsspråk. (j) Solution: True

6(7) 3. Why is it hard to achieve perfect quality in software engineering? Discuss various approaches to improving software quality. Miksi on vaikeaa saavuttaa täydellistä laatua ohjelmistotuotannossa? Kuvaile eri lähestymistapoja ohjelmistojen laadun parantamiseksi. Varför är det svårt att uppnå perfekt kvalitet i programvaruutveckling? Beskriv olika tillvägagångssätt för att förbättra programkvalitet. (7p) Solution: Reasons (3p for well motivated answer, including two or three of the following). Other well motivated answers accepted as well. Defining quality: Quality is multi-faceted, and stakeholders have different views of what perfect quality is. Uniqueness: software development is development, not manufacturing each project is a new experiment Software development is relient on humans and humans tend to make mistakes Software is inherently complex, subject to changes, must conform to others and invisible (Up to 1 point for all Brooks arguments) Method scalability. Software development methods that work for small projects/product does not necessarily scale up well. Time and resource constraints Difficulties in determining the requirements, requirements changes Approaches (1p each, max 4). The maximum for describing process improvement practices only is two points. Other well motivated answers accepted as well. Select a suitable process model for the project Improve the overall software process, e.g. using the CMM(I) or SPICE frameworks Design and implementation heuristics e.g. use modularization, information hiding, etc. Testing Inspections and reviews Use of design methodologies, like the UML Systematic and planned reuse Good management Active communication with customer (customer involvement) Use of formal methods (when feasible)

7(7) 4. What are the basic tasks of requirements engineering? Explain each briefly. Mitkä ovat vaatimusten hallinnan perustoiminnot? Kuvaile jokaista lyhyesti. Vilka är de grundläggande funktionerna i kravhantering? Beskriv varje funktion kort. (7p) Solution: The basic tasks of requirements engineering are: ( 1 2 p each for correct name, 1 2 p each for correct explanation) Inception. Software engineers ask a set of context-free like: Who is behind the request for this work? Who will use the solution? What are the economic benefits of a successful solution? Is there another source for the solution that you need? The purpose is to identify all stakeholders as well as to establish preliminary feasibiliy. Elicitation. In the requirements elicitation stage, requirements are elicited from the identified stakeholders; determining what the objectives are, what is to be accomplished, how the system fits into the needs of the business and into the day-to-day work. Elaboration. The information obtained in the previous phases is expanded and refined. Focus is on developing a refined techincal model of software functions, features and constraints. Negotiation. The reconciling of requirements and resource conflicts. Specification. A description of the functionality and performance (functional and nonfunctional requirements) of the system to be built, as well as of constraints is produced. Validation. The requirements specification is examined to ensure that the requirements are unambiguously, consistently, complete and correctly. In practice, this is extremely hard. Management. The activity of dealing with requirements changes as the project unfolds. In many ways similar (and linked to) SCM activities.