Browsing by Author "Kuusela, Juha"
Now showing 1 - 7 of 7
- Results Per Page
- Sort Options
- Amerikkalaisten suorien investointien hyöty Euroopalle
School of Business | Master's thesis(1970) Kuusela, Juha - Analysing Dependencies in Complex Computing Environments
Helsinki University of Technology | Master's thesis(2001) Aterma, Timo - Biotakaisinkytkennän hyödyntäminen pelisovelluksissa
Informaatio- ja luonnontieteiden tiedekunta | Bachelor's thesis(2008) Kuusela, Juha - Goal driven design method for software product lines
School of Science | Doctoral dissertation (monograph)(2013) Kuusela, JuhaMany large corporations organize their products in product lines. These products differ in price, capacity and functionality but they also have remarkable similarities. They often share quality, user interface, brand image, service organization and many external interfaces. If these products are controlled by software then software product line techniques can be used in software development to systematically benefit from these differences and similarities. Products can share the same software design. Product line software is difficult to design. Requirements for the future products can change, computing hardware and interfaces will evolve and new business opportunities may emerge outside the initial design scope. Large upfront investment into market analysis and flexible software design will decrease but not remove the risk of a poor design. Reuse benefits will more than compensate the extra investment but only if the design is successful. This research proposes a new development approach for software product lines called Goal driven design (GDD). In GDD requirements and design decisions are developed in parallel. This emphasizes the need to explore the design space by developing different alternatives both for requirements and design decisions. Alternative ways to approach a desirable result are compared, and the best is selected. Different products can be based on different alternatives. GDD uses an iterative process. The inner cycle in that iterative process is explorative. Alternative ways to approach product goals and alternative designs decisions are freely explored. The contributions that alternative design decisions have to product goals are noted, but the level of criticism is low. Outer cycle is constructive. Architecture and designs are created based on the ideas from the explorative phase. At times, it is necessary to develop alternative designs. These are carefully evaluated, and the most promising designs are selected as the basis for future work. This guides the developer to address requirements in order, consider variance early, and explore design space widely. This research shows that using this approach it would be possible to explicitly represent and order design decisions that are needed to build a software product line. It also shows with an example that this can be done while defining the first products supported by the new software product line. Description of an experience in applying GDD in a real mid scale project shows how this approach blends with agile development. Scaling is addressed by showing that similar models scale when applied for a large product line. Software development is changed by the practitioners. A study was conducted to find out that a group of software architects that have product line experience from different organizations consider this approach interesting. - An integrated programming environment for the XE language
Helsinki University of Technology | Licentiate thesis(1990) Kuusela, Juha - Security testing in continuous integration processes
Perustieteiden korkeakoulu | Master's thesis(2017-06-12) Kuusela, JuhaModern software development processes in which changes can be deployed to production multiple times a day present a challenge from the software security point of view. In this work we explore the possibility of using existing software security testing methods and tools in continuous integration to achieve a basic level of continuous security testing. We review existing software security testing methods and tools to determine their applicability to continuous security testing. In four case studies we made selected security testing tools a part of real life software development projects' continuous integration systems and development processes. We found that continuous security testing is feasible using current security testing methods and tools. Multiple different, complementary approaches to implementing it are available depending on the level of expendable effort and security expertise at hand. Dependency verification is in most cases the best starting point for implementing continuous security testing. Good dependency verification tools, which require minimal effort and security testing expertise from the user, are available for most major programming languages. - Tietämyksen esittämiskieli ja sen liittyminen asiantuntijajärjestelmien rakentamistyökaluun
Helsinki University of Technology | Master's thesis(1986) Kuusela, Juha