From f37884d1c9a9554fbaaccee8c86ff1d97da7072d Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Mon, 12 Jul 2021 12:47:14 +0200 Subject: [PATCH] starting cheatsheet --- Softwaretechnik 2 - Cheatsheet.pdf | Bin 0 -> 271559 bytes Softwaretechnik 2 - Cheatsheet.tex | 2649 ++++++++++++++++++++++++++++ 2 files changed, 2649 insertions(+) create mode 100644 Softwaretechnik 2 - Cheatsheet.pdf create mode 100644 Softwaretechnik 2 - Cheatsheet.tex diff --git a/Softwaretechnik 2 - Cheatsheet.pdf b/Softwaretechnik 2 - Cheatsheet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9f85a02ec2abe5797279eb5cf78feadab60b10c9 GIT binary patch literal 271559 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

P}J&4r^&A3~^kK{^pefEI| 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%0DI(CipGEIoN-;P8C+; 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

qdf6wZA4ao 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 literal 0 HcmV?d00001 diff --git a/Softwaretechnik 2 - Cheatsheet.tex b/Softwaretechnik 2 - Cheatsheet.tex new file mode 100644 index 0000000..18c02aa --- /dev/null +++ b/Softwaretechnik 2 - Cheatsheet.tex @@ -0,0 +1,2649 @@ +\documentclass[a4paper]{article} +\usepackage[ngerman]{babel} +\usepackage[utf8]{inputenc} +\usepackage{multicol} +\usepackage{calc} +\usepackage{ifthen} +\usepackage[landscape]{geometry} +\usepackage{amsmath,amsthm,amsfonts,amssymb} +\usepackage{color,graphicx,overpic} +\usepackage{xcolor, listings} +\usepackage[compact]{titlesec} %less space for headers +\usepackage{mdwlist} %less space for lists +\usepackage{pdflscape} +\usepackage{verbatim} +\usepackage[hidelinks,pdfencoding=auto]{hyperref} +\usepackage{fancyhdr} +\usepackage{lastpage} +\pagestyle{fancy} +\fancyhf{} +\fancyhead[L]{Softwaretechnik 2} +\fancyfoot[L]{\thepage/\pageref{LastPage}} +\renewcommand{\headrulewidth}{0pt} %obere Trennlinie +\renewcommand{\footrulewidth}{0pt} %untere Trennlinie + +\pdfinfo{ + /Title (Softwaretechnik 2 - Cheatsheet) + /Creator (TeX) + /Producer (pdfTeX 1.40.0) + /Author (Robert Jeutter) + /Subject () +} + +%%% Code Listings +\definecolor{codegreen}{rgb}{0,0.6,0} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{backcolour}{rgb}{0.95,0.95,0.92} +\lstdefinestyle{mystyle}{ + backgroundcolor=\color{backcolour}, + commentstyle=\color{codegreen}, + keywordstyle=\color{magenta}, + numberstyle=\tiny\color{codegray}, + stringstyle=\color{codepurple}, + basicstyle=\ttfamily, + breakatwhitespace=false, +} +\lstset{style=mystyle, upquote=true} + +% This sets page margins to .5 inch if using letter paper, and to 1cm +% if using A4 paper. (This probably isn't strictly necessary.) +% If using another size paper, use default 1cm margins. +\ifthenelse{\lengthtest { \paperwidth = 11in}} + { \geometry{top=.5in,left=.5in,right=.5in,bottom=.5in} } + {\ifthenelse{ \lengthtest{ \paperwidth = 297mm}} + {\geometry{top=1.3cm,left=1cm,right=1cm,bottom=1.2cm} } + {\geometry{top=1.3cm,left=1cm,right=1cm,bottom=1.2cm} } + } + +% Redefine section commands to use less space +\makeatletter +\renewcommand{\section}{\@startsection{section}{1}{0mm}% + {-1ex plus -.5ex minus -.2ex}% + {0.5ex plus .2ex}%x + {\normalfont\large\bfseries}} +\renewcommand{\subsection}{\@startsection{subsection}{2}{0mm}% + {-1explus -.5ex minus -.2ex}% + {0.5ex plus .2ex}% + {\normalfont\normalsize\bfseries}} +\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{0mm}% + {-1ex plus -.5ex minus -.2ex}% + {1ex plus .2ex}% + {\normalfont\small\bfseries}} +\makeatother + +% Don't print section numbers +\setcounter{secnumdepth}{0} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{0pt plus 0.5ex} +% compress space +\setlength\abovedisplayskip{0pt} +\setlength{\parskip}{0pt} +\setlength{\parsep}{0pt} +\setlength{\topskip}{0pt} +\setlength{\topsep}{0pt} +\setlength{\partopsep}{0pt} +\linespread{0.5} +\titlespacing{\section}{0pt}{*0}{*0} +\titlespacing{\subsection}{0pt}{*0}{*0} +\titlespacing{\subsubsection}{0pt}{*0}{*0} + +\begin{document} + +\raggedright +\begin{multicols}{3}\scriptsize + % multicol parameters + % These lengths are set only within the two main columns + %\setlength{\columnseprule}{0.25pt} + \setlength{\premulticols}{1pt} + \setlength{\postmulticols}{1pt} + \setlength{\multicolsep}{1pt} + \setlength{\columnsep}{2pt} + + \section{Software Development Processes} + \subsection{Motivation} + - Warum sind Entwicklungsprozesse sinnvoll? + - Softwareentwicklungsrozesse erzeugen folgende Artefakte + - Dokumente, die jeweils einer bestimmten Struktur entsprechen! + - Requirements Dokument + - Architekturdokument (Bauplan) + - Projektplan + - Risiken + - Quellcode, der der Architektur entsprechen muss + - ... der das System implementiert + - ... der Testfälle + - ... des Installationsprogramms + - ... der Wartungssoftware (-> Extra Entwicklungsprojekt) + - Testfälle + + Why development processes? + - Development Processes are needed to know + - How do we develop systems? + - When to do what in a development team? + - Development Processes need to be \_implemented\_ per company and/or project + - Tailor the process! + - Establish the knowledge of the process in the development team + - Development Processes are a key competence for Project Managers + + \subsection{Software Processes} + 1. Background + 2. OpenUP + 3. SCRUM + 4. Metamodels + + + \subsubsection{Arten von Entwicklungsprozessen} + Phase-, Waterfall-, Loop-Models + ![Buns2002](Assets/Softwaretechnik2-phasenmodell.png) + + Prototype-Models + %![](Assets/Softwaretechnik2-prototypmodell.png) + + Incremental-, Evolutionary, Recursive-, Iterative-Models + %![](Assets/Softwaretechnik2-evolutionsmodell.png) + + Spiral-Model + ![Boeh 1988](Assets/Softwaretechnik2-Spiralmodell.png) + + \subsubsection{Certification of Project Managers} + - Project Management Professional (PMP)® + - Industry-recognized certification [http://www.pmi.org](http://www.pmi.org) + - PMP Requirements + - "... three years of project management experience, with 4500 hours leading and directing projects and 35 hours of project management education." (Erfolgreich und/oder bezahlt?) + + PMP background + - Examination for Project Managers + - 200 multiple-choice questions in 4hrs -> 1min 12sec per question + - 2-3 weeks of preparation + - Paid renewal every three years + + \paragraph{PMP Example Question 1 (taken from the PMP website)} + An accepted deadline for a project approaches. However, the project manager realizes only 75% percent of the work has been completed. The project manager then issues a change request. What should the change request authorize? + 1. Additional resources using the contingency fund + 2. Escalation approval to use contingency funding + 3. Team overtime to meet schedule + 4. Corrective action based on causes + + \paragraph{PMP Example Question 2 (taken from the PMP website)} + The project manager develops a process improvement plan to encourage continuous process improvement during the life of the project. Which of the following is a valid tool or technique to assist the project manager to assure the success of the process improvement plan? + 1. Change control system + 2. Process analysis + 3. Benchmarking + 4. Configuration management system + + \paragraph{PMP Example Questions 3 (taken from the PMP website)} + The project manager meets with the project team to review lessons learned from previous projects. In what activity is the team involved? + 1. Performance management + 2. Scope identification + 3. Risk identification + 4. Project team status meeting + + + \subsection{OpenUP} + \subsubsection{Core Principles} + (Made available under EPL v1.0) + OpenUP is based on a set of mutually supporting core principles: + - Collaborate to align interests and share understanding + - Evolve to continuously obtain feedback and improve + - Balance competing priorities to maximize stakeholder value + - Focus on articulating the architecture + + \subsubsection{Collaboration: Some key practices} + - Maintain a common understanding + - Key artifacts: Vision, requirements, architecture notebook, iteration plan + - Foster a high-trust environment + - Manage by intent, tear down walls, understand the perspectives of others + - Share responsibility + - Everybody owns the product, help each other + - Learn continuously + - Develop technical and interpersonal skills, be a student and a teacher + - Organize around the architecture + - The architecture provides a shared understanding of the solution and forms the + basis for partitioning work. + + \subsubsection{Evolve: Some key practices} + - Develop your project in iterations + - Use time-boxed iterations that deliver incremental value and provide frequent feedback. + - Focus iterations on meeting the next management milestone + - Divide the project into phases with clear goals and focus iterations on meeting those goals. + - Manage risks + - Identify and eliminate risk early. + - Embrace and manage change + - Adapt to changes. + - Measure progress objectively + - Deliver working software, get daily status, and use metrics. + - Continuously re-evaluate what you do + - Assess each iteration and perform process retrospectives. + + \subsubsection{Balance: Some key practices} + - Know your audience \& create a shared understanding of the domain. + - Identify stakeholders early and establish a common language + - Separate the problem from the solution + - Understand the problem before rushing into a solution. + - Use scenarios and use cases to capture requirements + - Capture requirements in a form that stakeholders understand + - Establish and maintain agreement on priorities + - Prioritize work to maximize value and minimize risk early + - Make trade-offs to maximize value + - Investigate alternative designs and re-factor to maximize value + - Manage scope + - Assess the impact of changes and set expectations accordingly. + + \subsubsection{Focus: Some key practices} + - Create the architecture for what you know today + - Keep it as simple as possible and anticipate change + - Leverage the architecture as a collaborative tool + - A good architecture facilitates collaboration by communicating the "big-picture" and enabling parallelism in development. + - Cope with complexity by raising the level of abstraction + - Use models to raise the level of abstraction to focus on important high-level decisions. + - Organize the architecture into loosely coupled, highly cohesive components + - Design the system to maximize cohesion and minimize coupling to improve comprehension and increase flexibility. + - Reuse existing assets + - Don’t re-invent the wheel. Made available under EPL v1.0 + + \subsubsection{OpenUP is Agile and Unified} + - OpenUP incorporates a number of agile practices... + - Test-First Design + - Continuous Integration + - Agile Estimation + - Daily Standup, Iteration Assessment, Iteration Retrospective + - Self-organizing teams + - ...within the context of an iterative, incremental lifecycle (UP). + + Core principles mapping to Agile manifesto + + \begin{tabular}{l|l} + OpenUP/Basic Key principles & Agile manifesto \\\hline + Collaborate to align interests and share understanding & Individuals and interactions over process and tools \\ + Evolve to continuously obtain feedback and improve & Responding to change over following a plan \\ + Balance competing priorities to maximize stakeholder value & Customer collaboration over contract negotiation \\ + Focus on articulating the architecture & Working software over comprehensive documentation \\ + \end{tabular} + + Governance Model - Balancing Agility and Discipline + - OpenUP incorporates a three-tiered governance model to plan, execute, and monitor progress. + - These tiers correspond to personal, team and stakeholder concerns and each operates at a different time scale and level of detail. + + \subsubsection{OpenUP Project Lifecycle} + - OpenUP uses an iterative, incremental lifecycle. + - Proper application of this lifecycle directly addresses the first core principle (Evolve). + - The lifecycle is divided into 4 phases, each with a particular purpose and milestone criteria to exit the phase: + - Inception: To understand the problem. + - Elaboration: To validate the solution architecture. + - Construction: To build and verify the solution in increments. + - Transition: To transition the solution to the operational environment and validate the solution. + + \subsubsection{OpenUP Iteration Lifecycle} + - Phases are further decomposed into a number of iterations. + - At the end of each iteration a verified build of the system increment is available. + - Each iteration has its own lifecycle, beginning with planning and ending in a stable system increment, Iteration Review (did we achieve the iteration objectives) and a Retrospective (is there a better process). + - Progress on completion of micro-increments is monitored daily via "Scrums" and the iteration burndown chart to provide timely feedback. + %![](Assets/Softwaretechnik2-openUp-lifecycle.png) + + Micro-Increments + - Micro-increments are small steps towards the goals of the iteration. + - Should be small enough to be completed in a day or two + - Identify Stakeholders is a micro-increment (one step of a task). + - Determine Technical Approach for Persistency is a micro-increment (a task with a specific + focus) + - Develop Solution Increment for UC 1 Main Flow is a micro-increment (a task with a + specific focus) + - Micro-increments are defined and tracked via the work items list. + - Work items reference requirements and process tasks as needed to provide + required inputs to complete the micro-increment. + + \subsubsection{OpenUP Lifecycle - Inception Phase} + - The primary purpose of the Inception Phase is to understand the scope of the problem and feasibility of a solution. + - At the Lifecycle Objectives Milestone, progress towards meeting these objectives are assessed and a decision to proceed with the same scope, change the scope, or terminate the project is made. + - More specifically, the objectives and associated process activities are: + + \begin{tabular}{l|l} + Phase objectives & Activities that address objectives \\\hline + Define a Vision & Initiate Project \\ + Identify key system functionality & Identify and Refine Requirements \\ + Determine at least one possible solution & Agree on Technical Approach \\ + Understand the cost, schedule, and risks associated with the project & Initiate Project, Plan and Manage Iteration + \end{tabular} + + \subsubsection{OpenUP Lifecycle - Elaboration Phase} + - The primary purpose of the Elaboration Phase is to validate the solution architecture (feasibility and trade-offs). + - At the Lifecycle Architecture Milestone, progress towards meeting these objectives are assessed and a decision to proceed with the same scope, change the scope, or terminate the project is made. + - More specifically, the objectives and associated process activities are: + + \begin{tabular}{l|l} + Phase objectives & Activities that address objectives \\\hline + Get a more detailed understanding of the requirements & Identify and Refine Requirements \\ + Design, implement, validate, and baseline an architecture & Develop the Architecture, Develop Solution Increment, Test Solution \\ + Mitigate essential risks, and produce accurate schedule and cost estimates & Plan and Manage Iteration, Ongoing Tasks + \end{tabular} + + \subsubsection{OpenUP Lifecycle - Construction Phase} + - The primary purpose of the Construction Phase is to develop and verify the solution incrementally. + - At the Initial Operational Capability Milestone, progress towards meeting these objectives is assessed and a decision to deploy the solution to the operation environment is made. + - More specifically, the objectives and associated process activities are: + + \begin{tabular}{l|l} + Phase objectives & Activities that address objectives \\\hline + Iteratively develop a complete product that is ready to transition to the user community & Identify and Refine Requirements; Develop Solution Increment; Test Solution \\ + Minimize development costs and achieve some degree of parallelism & Plan and Manage Iteration Ongoing Tasks + \end{tabular} + + \subsubsection{OpenUP Lifecycle - Transition Phase} + - The primary purpose of the Transition Phase is to deploy the solution to the operational environment and validate it. + - At the Product Release Milestone, progress towards meeting these objectives are assessed and a decision to make the product generally available is made. + - More specifically, the objectives and associated process activities are: + + \begin{tabular}{l|l} + Phase objectives & Activities that address objectives \\\hline + Beta test to validate that user expectations are met & Ongoing Tasks; Develop Solution Increment; Test Solution \\ + Achieve stakeholder concurrence that deployment is complete & Plan and Manage Iteration; Test Solution \\ + Improve future project performance through lessons learned & Plan and Manage Iteration \\ + \end{tabular} + + \subsubsection{OpenUP Disciplines} + - A discipline is a collection of tasks that are related to a major "area of concern" within the overall project. + - Within the lifecycle, tasks are performed concurrently across several disciplines. + - Separating tasks into distinct disciplines is simply an effective way to organize content that makes comprehension easier. + - OpenUP defines the following Disciplines: + + \subsubsection{Example: OpenUp} + ![OpenUp Beispiel](Assets/Softwaretechnik2-openUp-beispiel.png) + + %[http://www.eclipse.org/epf/general/An_Introduction_to_EPF.zip](http://www.eclipse.org/epf/general/An_Introduction_to_EPF.zip) + + \subsubsection{The four Phases of OpenUP} + ![Phasen](Assets/Softwaretechnik2-openUp-phasen.png) + + Decomposition of a Phase + %![](Assets/Softwaretechnik2-openUp-lifecycle.png) + + 1. Inception + - Glossary + - Vision + - Work Items List + - Project Plan + - Risk List + - Supporting Requirements Spec + - Use Case, Use Case Model + - Architecture Notebook + - Iteration Plan + 2. Elaboration + - Architecture + - Design + - Developer Tests + - Build + - Implementation + - Test Log + - Test Scripts + 3. Construction + 4. Transition + + + Inhalte + + \subsection{SCRUM} + Example: SCRUM + %![](Assets/Softwaretechnik2-scrum.png) + + \subsubsection{Product Backlog} + - Requirements + - Each item will be refined by the -> Sprint Backlog + + \subsubsection{Sprint Backlog} + - Prioritized workitems + - 2-4 weeks + - Daily tracking of the progress (remaining work in days or h) + + Sprint Burndown Chart + %![](Assets/Softwaretechnik2-Sprint%20Burndown%20Chart.png) + + \subsubsection{Daily Scrum} + Short daily meeting + 1. What did you do yesterday? + 2. What will you do today? + 3. Are there any impediments in your way? + + \subsubsection{Where do changes come from?} + ![Wieg 1999, p344](Assets/Softwaretechnik2-Veränderungen.png) + + \subsection{Example: Change Control Process} + %![](Assets/Softwaretechnik2-change-control-process.png) + Everyone needs to know about + - The owner of each document + - The access rights to each document + - The change procedure + + \subsubsection{Impact Analysis Questionaire} + [Wieg 1999, p346] + - Do any existing requirements in the baseline conflict with the proposed change? + - Do any other pending requirements changes conflict with the proposed change? + - What are the business or technical consequences of not making the change? + - What are possible adverse side effects or other risks of making the proposed change? + - Will the proposed change adversely affect performance requirements or other quality attributes? + - Is the proposed change feasible within known technical constraints and current staff skills? + - Will the proposed change place unacceptable demand on any computer resources required for the development, test, or operating environments? + - Must any tools be acquired to implement and test the change? + - How will the proposed change affect the sequence, dependencies, effort, or duration of any tasks currently in the project plan? + - Will prototyping or other user input be required to verify the proposed change? + - How much effort that has already been invested in the project will be lost it this change is accepted? + - Will the proposed change cause an increase in product unit cost, such as by increasingg third-party product licensing fees? + - Will the change affect any marketing, manufacturing, training, or customer support plans? + - Identify any user interface changes, additions, or deletions required. + - Identify any changes, additions, or deletions required in reports, databases, or files. + - Identify the design components that must be created, modified, or deleted. + - Identify the source code files that must be created, modified, or deleted. + - Identify any changes required in build files or procedures. + - Identify existing unit, integration, system, and acceptance test cases that must be modified or deleted. + - Estimate the number of new unit, integration, system, and acceptance test cases that will be required. + - Identify any help screens, training materials, or other user documentation that must be created or modified. + - Identify any other applications, libraries, or hardware components affected by the change. + - Identify any third-party software that must be purchased or licensed. + - Identify any impact the proposed change will have on the project‘s software project management plan, quality assurance plan, configuration management plan, or other plans. [Wieg 1999], p346 + + + \subsection{Metamodelle} + \subsubsection{What is Model Driven Development?} + MDD proposes the usage of "models at different levels of abstraction and performs + transformations between them in order to derive a concrete application implementation " [1] + + Model + - Everything can be a representation of a model + - Source Code + - Word, Excel + - ... + - Conforms to a meta-model + - -> Manage complexity with a higher/smarter abstraction + + \subsubsection{Meta-meta model ...} + - Object Management Group (OMG) + - Meta Object Facility (MOF) + - Commonly used 4 layer abstraction + - MDD tools are based on this structure! + + Meta Levels + - M3: z.B. MOF + - M2: z.B. UML Meta Model + - M1: z.B. UML Model + - M0: z.B. Source Code + + + \section{Requirements Engineering} + \subsection{Definition: Requirements Engineering} + %![](Assets/Softwaretechnik2-Requirements%20Engineering.png) + + Definition ([Bere 2009] → [DoD 1991]): "Requirements engineering involves all lifecycle activities devoted to (1) identification of user requirements, (2) analysis of the requirements to derive additional requirements, documentation of the requirements as a specification, and (3) validation of the documented requirements against user needs, as well as (4) processes that support these activities." + + - Professionelles Requirements Engineering + - (1) Erheben Um was geht es? + - (2) Modellieren Analyse / Verfeinerung ... + - (3) Validieren Prüfen + - (4) Verwalten Nutzung / Wiederverwendung + + %![](Assets/Softwaretechnik2-Requriements-Engineering-2.png) + + \subsection{Definition: Requirement} + What is a requirement? "requirement", IEEE 610.12 - 1990, p62 + 1. A condition or capability needed by a user to solve a problem or achieve an objective. + 2. A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documents. + 3. A documented representation of a condition or capability as in (1) or (2). + + See also: design requirement; functional requirement; implementation requirement; interface requirement; performance requirement; physical requirement. + + Requirement vs. Goal ( "a hot topic in the community"): + A goal is an objective the system under consideration should achieve. (intended properties of the system) [Lams 2001]. + + \subsection{Requirement Types} + \subsubsection{Different Requirement Types} + Requirements + - Functional + - Data + - Processes / Functions + - Behaviour + - Non-functional + - Process + - Shipment + - Implementation + - Standards + - Organisation + - Product + - Reliability + - Usability + - Efficiency + - Maintainability + - Protability + - Safety + - Performance + - Ergonomy + - External + - Law + - Economy + - Interoperability + - Cultural + - Physics + - IT Technology + + + \subsection{Struktur einer Anforderung} + Strukturelemente + - Id + - Description + - Rationale + - Satisfaction + - Origin + - References + - Validation + + What a Requirement Looks Like + - Unique Requirements ID + - Mostly numbers or alphanumeric combinations are being used. + - Prevent redundancies -> automatic generation of this ID + - System-wide identification of a requirement / workitem + - Document Structure (-> Specification Document, -> Requirement Types) + - We need to know how to sort the requirements. Where to sort in a new requirement? Where to find requirements to a given topic? + - "Checklist" missing requirements / redundancies + - Wide / complete scope of the requirements document + - Relations + - ... to one/more use-case(s) + - ... to other requirements + - Use Interaction (one requirement refers to the implemented functionality of another requirement, e.g. Scrolling through a list of videos might make use of the immediate play-video functionality) + - Share Interaction (two requirements share the same resource, e.g. memory) + - ... to a component (off-the-shelf) of the system. (This is a relation to the system design) + - ... to a specific system variant (of a system family). + - Conflicts between requirements (should be resolved before the design phase) + - Conflicting requirements, side effects + - Analysis of the requirements, coverage metrics, automated traceability matrices + - Description + - A single sentence describing the requirement + - Textual frames / boiler plates [Rupp 2002], p229... + - UML (Activity, Sequence, Use-Cases, Statecharts), legacy model types ?? + - Without a description we don‘t understand a requirement + - Developers are forced to think about the requirement + - Rationale + - Why is this requirement important? + - Unneeded / unnecessary requirements have no rationale + - Reduction of the requirements specification to the essentially needed requirements + - Origin + - Who came up with this requirement? Where does it come from? + - Without a source there is no "personal" reason to have a requirement + - The origin is always the source for more information about the requirement + - Validation / Test-Case + - How could we quantify this requirement to test/validate it? + - Un-testable requirements have no means to be approved by the customer + - Project management (planning, scope, partitioning) is possible + - Customer Satisfaction + - What is the level of customer-interest in this requirement? How important is this requirement to the customer? + - What if this requirment won‘t be realized ...? + - Could also be seen as priority of this requirement (see Kano Model) + - I like it that way + - It must be that way + - I am neutral + - I can live with it that way + - I dislike it that whay + - Without the analysis of the customer satisfaction, the acceptance of the final result is unknown. + - Customer Satisfaction + - References + - To Domain-Knowledge or other information important to understand the requirement + - The learning curve for new employees or new stakeholders will be prolonged. + - Understanding of the system is sped up. + + \subsubsection{ Anforderungsschablonen} + für die Beschreibung von Anforderungen [Rupp 2002] + %![](Assets/Softwaretechnik2-anforderungsschablone1.png) + %![](Assets/Softwaretechnik2-anforderungsschablone2.png) + %![](Assets/Softwaretechnik2-anforderungsschablone3.png) + + Kano Model + %![](Assets/Softwaretechnik2-Kano-1.png) + %![](Assets/Softwaretechnik2-Kano-2.png) + + \subsection{Anforderungserhebung / Elicitation Techniques} + \subsubsection{Stakeholder Model} + - Sponsor + - Customer + - Marketing + - Productdesign + - User + - Enduser + - Maintenance + - Contractor (Someone delivering something) + - Projectmanager + - Softwareengineer + - Qualityengineer + - Technical Writer + + \subsubsection{Elicitation Techniques} + %![](Assets/Softwaretechnik2-Elicitation%20Techniques.png) + + - Own Participation ... + - Internship + - Job-Rotation + - "Hospitanz" + - Ethnographic Observation + - Other cultures ... + - Introspection + - Explicitly try to think as a different individual (e. g. customers) + - ... change your ViewPoint [Rupp 2002], p111 + - Document Analysis + - Market Studies, Books, Papers + - Standards + - System Documentation, User Manuals (of competitors) + - Web-Search ... + - Patent Search + - Interviews (with/for statistical analysis) + - In person, Telco + - (Web-based) questionaire (e.g. Sharepoint) + - Structured / not structured + - Feedback round, [Rupp 2002], p120 + - Brainstorming + - MindMaps + - With domain experts, developers, ... + - Protocol Analysis + - Learn about business processes + - Input / Output of process steps (Observation) + - Apprenticing, Job-Rotation / "Hospitanz + - Knowledge Engineering ... + - Repertory Grid + - Goal Question Metric + + \subsubsection{Web-Search} + Example: Literature Search + + \href{http://www.webofknowledge.com/}{Web of Knowledge} + \href{http://ieeexplore.ieee.org}{IEEE explore} + \href{http://dl.acm.org/}{ACM} + \href{http://www.scirus.com}{Scirus} + \href{http://www.informatik.uni-trier.de/~ley/db/}{DBLP} + \href{http://citeseerx.ist.psu.edu}{Citeseer(X)} + \href{http://scholar.google.de/}{Google Scholar} + \href{http://worldwide.espacenet.com/}{Patentdatenbanken} + + \subsubsection{Patentrecherche} + - Viele Informationen sind nur in Patenten verfügbar + - An anderer Stelle veröffentlicht <-> In Patenten veröffentlicht + - 80% finden sich nur in Patenten! + - Wo veröffentlichen um Geheimhaltung bemühte Wettbewerber ihre Forschungs- und Entwicklungsergebnisse? + + Lösungen aus Patentdokumenten... doch es bedarf gewisser Grundkenntnisse! + - Hüten Sie sich vor "naiven" Schlagwortsuchen wie ... "Feder" -> "Energiespeichermittel" + - Manchmal will der Anmelder einfach vermeiden, dass sein Patent gefunden wird ... + - "Spielzeugball" -> "Kugelförmiges Objekt mit biegsamen Fäden" + - "Kugellager" -> "Vielzahl von Kugeln" + + Lernen Sie, wie man nach Patenten sucht! + - http://www.epo.org/wbt/pi-tour + - http://www.epo.org/patents/learning/e-learning.html + + + + \subsubsection{Interviews} + [Pohl 2008] + - Vorbereitung + - Ziel definieren/kommunizieren, Teilnehmer auswählen/einladen/kennenlernen, Ort wählen, Fragen vorbereiten, Domänensprache erlernen + - Durchführung + - Einleitung: Ziele und erwartete Ergebnisse, Einstiegsfrage + - Zusammenfassungen, Pausen, Protokoll + - Nachbereitung + - Protokoll, Anforderungen, To-Do-Liste + - ->Prüfung / Review + + \paragraph{MindMaps} + - freemind.sourceforge.net + - MindManager (http://www.mindjet.com) + %![](Assets/Softwaretechnik2-mindmap.png) + + \paragraph{Questionaire: ... ilities} + - ISO 9126 + - ISO 25010 + - ISO 25051 + - ... + + \paragraph{SEI Risk Taxonomy} + + \subsubsection{Repertory Grid} + - Based on the ,,Personal Construct Theory'' by George Kelly, 1955 + - Repertory Grid - Auswahltabelle + - lat. Repertorium Bibliographie eines Fachbereiches, + - reperire = "wiederfinden" + - franz. Repertoire = Verzeichnis + - Interview technique: -> The interviewee creates his own interview! + - Goal: Understand someones ideas by similarities + - Elements: ... the items for the reasoning process + - Construct + - Single dimension of meaning for a person to identify two pheonomena as similar + - Two poles represent the extreme viewpoints (with a typical scale of 1 ... 5) + + \paragraph{Repertory Grid: How to} + + What is the question to be answered? + + Elicit the elements + + Elaborate the constructs + - By comparing triads -> How are two of these similar and the third one different? + + Organize the elements and constructs in a table (-> grid) and rate (1...5) each element according to the constructs + + Example: "What is the best car brand for me?" + %![](Assets/Softwaretechnik2-repertory-grid.png) + + \paragraph{Repertory Grid: Analysis} + 1. Best fit ... + 2. What is closest to the optimum? + 3. Clustering to refine the constructs + + + \subsubsection{Goal Question Metric} + 1. Robert E. Park, Wolfhart B Goethert, William A. Florac,"Goal-Driven Software Measurement - A Guidebook", SEI Bericht, CMZ/SEI-96-HB-002, 1996. + 2. Danilo Assmann, Ralf Kalmar, Dr Teade Punter, "Handbuch, Messen und Bewerten von WebApplikationen mit der Goal/Question/Metric Methode", IESE-Report Nr. 087.02/D ver. 1.2, 2002 + + Motivation + - Messen und Bewerten von + - Softwareentwicklungsprozessen + - Produkten / Artefakten / Komponenten + - Ziel: Quantitative Aussagen + - In einem Projektkontext + - Für die beteiligten Personen + + GQM + - Zielorientiertes Messen + - Ziele sind organisations- / projektspezifisch + 1. Planung der Messung + 2. Instrumentierung + 3. Datenerfassung + 4. Datenanalyse mit Ergebnisbericht + + GQM Abstraction Sheet + %![](Assets/Softwaretechnik2-GQM-abstraction-sheet1.png) + %![](Assets/Softwaretechnik2-GQM-abstraction-sheet2.png) + + Elicitation Techniques + - Team Building + - Kick-Off + - Workshops + - Business Event Workshop (-> people/employees describe their work) + - Future Workshop + - Identify and group problems. Work in smaller teams on the groups. + - Find and describe visionary solutions to problems. Think without constraints. + - Estimate the needed resources and the feasibility for/of the proposed solutions. + - Focus Groups + - Sub-Teams for specific issues / topics + + + + \subsubsection{Requirements Document Structure} + Document Structure + - Volere Schema + - Sections, Sub-Sections, ... + - Examples ... + - Requirements + - Design + - Use-Cases + - Relation of documents amongst each other? + - ... + + (Project) Document Setup + - Lastenheft + - Pflichtenheft + - System Tests + - Testresults + - Standards + %![](Assets/Softwaretechnik2-project-document-setup.png) + + \section{Software Estimation} + \subsection{A Little Estimation Game [McCo 2006]} + Please read and observe the following directions carefully: + "For each question, fill in the upper and lower bounds that, in your opinion, give you a 90% chance of including the correct value. Be careful not to make your ranges either too wide or too narrow. Make them wide enough so that, in your best judgment, the ranges give you a 90% chance of including the correct answer. Please do not research any of the answers-this quiz is intended to assess your estimation skills, not your research skills. You must fill in an answer [or each item; an omitted item will be scored as an incorrect item. Please limit your time on this exercise to 10 minutes." + + + -> Most people reach a 30% confidence level if they believe it is a 90% confidence level! + + \paragraph{Ten Key Characteristics of Software Executives} + 1. Executives will always ask for what they want. + 2. Executives will always probe to get what they want if they don't get it initially. + 3. Executives will tend to probe until they discover your point of discomfort. + 4. Executives won't always know what's possible, but they will know what would be good for the business if it were possible. + 5. Executives will be assertive. That's how they got to be executives in the first place. + 6. Executives will respect you when you are being assertive. In fact, they assume you will be assertive if you need to be. + 7. Executives want you to operate with the organization's best interests at heart. + 8. Executives will want to explore lots of variations to maximize business value. + 9. Executives know things about the business, the market, and the company that you don't know , and they may prioritize your project's goals differently than you would. + 10. Executives will always want visibility and commitment early (which would indeed have great business value, if it were possible). [McCo 2006], p260 + + \subsubsection{Estimation Improvement with the Capability Maturity Model} + %![](Assets/Softwaretechnik2-CapabilityMaturityModel.png) + + Improvement in estimation at the Boeing Company. As with the U.S. Air Force projects, the predictability of the projects improved dramatically at higher CMM levels. [McCo 2006, p10] + + + \subsection{Accuracy and Precision} + %![](Assets/Softwaretechnik2-Accuracy-and-Precision.png) + + \subsection{Productivity Rates} + ![McCo 2006, 62](Assets/Softwaretechnik2-Productivity-Rates.png) + + \subsection{Randbedingungen, Fallstricke} + \paragraph{Over- / Underestimation} + - Cyril Northcote Parkinson, 1955 in ,,The Economist'' + - "Work expands so as to fill the time available for its completion. " + - -> Parkinson's Law + - Developers have a tendency to: Best Case Estimates + + \paragraph{Project Outcomes by Project Size} + \begin{tabular}{l|l|l|l|l} + Size in Function Points (and Approximate Lines of Code) & Early & On Time & Late & Failed (Canceled) \\\hline + 10 FP (1,000 LOC) & 11\% & 81\% & 6\% & 2\% \\ + 100 FP (10,000 LOC) & 6\% & 75\% & 12\% & 7\% \\ + 1,000 FP (100,000 LOC) & 1\% & 61\% & 18\% & 20\% \\ + 10,000 FP (1,000,000 LOC) & <1\% & 28\% & 24\% & 48\% \\ + 100,000 FP (10,000,000 LOC) & 0\% & 14\% & 21\% & 65\% + \end{tabular} + + [McCo 2006], p25, Source: Estimating Software Costs (Jones 1998). + + + \paragraph{Communication Paths} + \begin{tabular}{l|c|c|c|c|c|c|c} + Paths (P) & 0 & 1 & 3 & 6 & ... & 15 \\\hline + Nodes (n) & 1 & 2 & 3 & 4 & ... & 6 + \end{tabular} + + $$P=\sum_{i=1}^{n-1} i=\frac{(n-1)*((n-1)+1)}{2}=\frac{2*(n-1)}{2}$$ + Gaußsche Summenformel: $\sum_{i=1}^n = 1+2+3+...+n=\frac{n(n+1)}{2}$ + + \paragraph{Communication Paths cont.} + %![](Assets/Softwaretechnik2-Communicationpath-1.png) + %![](Assets/Softwaretechnik2-Communicationpath-2.png) + + + \subsubsection{The Cone of Uncertainty} + ![McCo 2006, p36](Assets/Softwaretechnik2-Cone-of-Uncertainty.png) + + \paragraph{Accuracy vs. Project Length} + ![McCo 2006, p26](Assets/Softwaretechnik2-Estimationresults.png) + Estimation results from one organization. + + \subsubsection{Commonly Missing Activities} + - Functional Requirement Areas + - Setup/installation program + - Data conversion utility + - Glue code needed to use third-party or open-source software + - Help system + - Deployment modes + - Interfaces with external systems + - Non-Functional Requirements + - ...ilities + - SW Development Activities + - Ramp-up time for new team members + - Mentoring of new team members + - Management coordination/manager meetings + - Cutover/deployment + - Data conversion (own development) + - Installation + - Customization + - Requirements clarifications + - Maintaining the revision control system + - Supporting the build + - Maintaining the scripts required to run the daily build + - Maintaining the automated smoke test used in conjunction with the daily build + - Installation of test builds at user location(s) + - Creation of test data + - Management of beta test program + - Participation in technical reviews + - Integration work + - Processing change requests + - Attendance at change-control/triage meetings + - Coordinating with subcontractors + + \subsubsection{Einflussgröße: Personal} + ![McCo 2006, p63](Assets/Softwaretechnik2-Einflussgröße-Personal.png) + + \subsubsection{Einflussgröße: Programmiersprache} + ![McCo 2006, p64/65](Assets/Softwaretechnik2-Einflussgröße-Programmiersprache.png) + + Ratio of High-Level-Language Statements to Equivalent C Code + + Source: Adapted from Estimating Software Costs (Jones 1998) and Software Cost Estimation with Cocomo II (Boehm 2000). + + \subsection{Estimation Techniques} + \subsubsection{Zählen} + Which quantities to count? [McCo 2006, p86..88] + + \begin{tabular}{l|l} + Quantity to Count & Historical Data Needed to Convert the Count to an Estimate \\\hline + Marketing requirements & Average effort hours per requirement for development \\ + & Average effort hours per requirement for independent testing \\ + & Average effort hours per requirement for documentation \\ + & Average effort hours per requirement to create engineering requirements from marketing requirements \\ + Features & Average effort hours per feature for development and/or testing \\ + Use cases & Average total effort hours per use case \\ + & Average number of use cases that can be delivered in a particular amount of calendar time \\ + Stories & Average total effort hours per story \\ + & Average number of stories that can be delivered in a particular amount of calendar time \\ + Engineering Requirements & Average number of engineering requirements that can be formally inspected per hour \\ + & Average effort hours per requirement for development/test/documentation \\ + Function Points & Average development/test/documentation effort per Function Point \\ + & Average lines of code in the target language per Function Point \\ + Change requests & Average development/test/documentation effort per change request (depending on variability of the change requests, the data might be decomposed into average effort per small, medium, and large change request) \\ + Web pages & Average effort per Web page for user interface work \\ + & Average whole-project effort per Web page (less reliable, but can be an interesting data point) \\ + Reports & Average effort per report for report work \\ + Dialog Boxes & Average effort per dialog for user interface work \\ + Database Tables & Average effort per table for database work \\ + & Average whole-project effort per table (less reliable, but can be an interesting data point) \\ + Classes & Average effort hours per class for development \\ + & Average effort hours to formally inspect a class \\ + & Average effort hours per class for testing \\ + Defects found & Average effort hours per defect to fix \\ + & Average effort hours per defect to regression test \\ + & Average number of defects that can be corrected in a particular amount of calendar time \\ + Configurations settings & Average effort per configuration setting \\ + Lines of code already written & Average number of defects per line of code \\ + & Average lines of code that can be formally inspected per hour \\ + & Average new lines of code from one release to the next + \end{tabular} + + \subsubsection{Historische Daten} + - The organization‘s historical data + - Not personalized! + - Check: working days $\not =$ calendar days! + - Calibrate by building own charts + - Use recent data of your project to refine estimations + + \subsubsection{Expert Judgement} + - Ask people who will do the work + - $ExpectedCase = \frac{BestCase+(4*MostLikelyCase)+WorstCase}{6}$ + + ![McCo 2006, p109](Assets/Softwaretechnik2-Expert-Judgement.png) + + De- / Recomposition + - Divide and Conquer + ![McCo 2006, p116](Assets/Softwaretechnik2-Divide-and-Conquer.png) + - Example + ![McCo 2006, p120](Assets/Softwaretechnik2-Decomposition-example.png) + + + Expert Judgement in Groups [McCo 2006, p151] + 1. The Delphi coordinator presents each estimator with the specification and an estimation form. + 2. Estimators prepare initial estimates individually. (Optionally, this step can be performed after step 3.) + 3. The coordinator calls a group meeting in which the estimators discuss estimation issues related to the project at hand. If the group agrees on a single estimate without much discussion, the coordinator assigns someone to play devil's advocate. + 4. Estimators give their individual estimates to the coordinator anonymously. + 5. The coordinator prepares a summary of the estimates on an iteration form and presents the iteration form to the estimators so that they can see how their estimates compare with other estimators' estimates. + 6. The coordinator has estimators meet to discuss variations in their estimates. + 7. Estimators vote anonymously on whether they want to accept the average estimate. If any of the estimators votes "no," they return to step 3. + 8. The final estimate is the single-point estimate stemming from the Delphi exercise. Or, the final estimate is the range created through the Delphi discussion and the single-point Delphi estimate is the expected case. + + \subsubsection{Proxy-Based Estimates} + Classify existing components/features ... (small, medium, large) ... and estimate new features by these classes + [McCo 2006, p138] + + \begin{tabular}{l|l|l|l|l} + Example & Size & Average Staff Days per Feature & Number of Features & Estimated Effort (Staff Days) \\\hline + Temp & Very Small & 48 & 6 & 288 \\ + Speed & Small & 53 & 20 & 1060 \\ + Daytrip & Medium & 60 & 4 & 240 \\ + Heartbeat Zone & Large & 66 & 5 & 330 \\ + Navigation & Very Large & 107 & 3 & 321 \\ + Total & & - & 38 & 2239 + \end{tabular} + + \subsubsection{Function Points} + - Developed by Allan Albrecht, IBM, 1970 + - Assess each functional requirement + ![Balz 1996](Assets/Softwaretechnik2-Function-Points.png) + + \begin{tabular}{l|l|l|l|l} + Category & Criterion & Simple & Middle & Complex \\\hline + Input & Number of different data Elements & 1-5 & 6-10 & >10 \\ + %& Validate Input & Formal & Formal & logically & Formal & logically & DB-access \\ + & Required complexity of the user interface & low & average & high \\ + Queries & Number of different keys & 1 & 2 & >2 \\ + & Required complexity of the user interface & low & average & high \\ + Output & Number of colums & 1-6 & 7-15 & >15 \\ + & different data elements & 1-5 & 6-10 & >10 \\ + & Change of output groups (e.g. three data items to be printed but in two different groups -> grouped GUI elements) & 1 & 2-3 & >3 \\ + & Preparation for printing data elements & none & some & many \\ + Database & Number of Keys & 1 & 2 & >2 \\ + & Different data elements & 1-20 & 21-40 & >40 \\ + & Use existing data? (can be re-used) & yes & - & no \\ + & Change of an already implemented data(structure) & no & yes & - \\ + Reference Data & Read-only-files: Number of different data elements & 1-5 & 6-10 & >10 \\ + & Read-only-files: Number of keys & 1 & 2 & >2 \\ + & Tables: Number of different data elements & 1-5 & 6-10 & >10 \\ + & Tables: Dimensions & 1 & 2 & 3 + \end{tabular} + + \begin{tabular}{l|l|l} + Category & Classification & Weight \\\hline + Input & simple & 3 \\ + & middle & 4 \\ + & complex & 6 \\ + Queries & simple & 3 \\ + & middle & 4 \\ + & complex & 6 \\ + Output & simple & 3 \\ + & middle & 5 \\ + & complex & 7 \\ + Database & simple & 3 \\ + & middle & 10 \\ + & complex & 15 \\ + Reference Data & simple & 3 \\ + & middle & 7 \\ + & complex & 10 + \end{tabular} + + %![](Assets/Softwaretechnik2-Function-Points2.png) + + \paragraph{Conversion of FP to LOC} + ![McCo 2006](Assets/Softwaretechnik2-FP-to-LOC.png) + + \paragraph{Examples of Productivity} + \begin{tabular}{l|l|l|l|l|l|l} + Product & New Lines of Code Equivalent & Staff Years & Year Built & Approx. Cost in 2006 Dollars & \$/LOC & LOC/Staff Year \\\hline + IBM Chief Programmer Team Project & 83,000 & 9 & 1968 & 1,400,000* & 17 & 9,200 \\ + Lincoln Continental & 83,000 & 35 & 1989 & 2,900,000 & 35 & 2,400 \\ + IBM Checkout Scanner & 90,000 & 58 & 1989 & 4,900,000 & 55 & 1,600 \\ + Microsoft Word for Windows 1.0 & 249,000 & 55 & 1989 & 8,500,000* & 34 & 4,500 \\ + NASA SEL Project & 249,000 & 24 & 2002 & 3,700,000* & 15 & 10,000 \\ + Lotus 123 v. 3 & 400,000 & 263 & 1989 & 36,000,000 & 90 & 1,500 \\ + Microsoft Excel 3.0 & 649,000 & 50* & 1990 & 7,700,000 & 12 & 13,000 \\ + Citibank Teller Machine & 780,000 & 150 & 1989 & 22,000,000 & 28 & 5,200 \\ + Windows NT 3.1 (first version) & 2,880,000 & 2,000* & 1994 & 200,000,000 & 70 & 1,400 \\ + Space Shuttle & 25,600,000 & 22,096 & 1989 & 2,000,000,000 & 77 & 1,200 \\ + \end{tabular} + + *Estimated + + Sources: "Chief Programmer Team Management of Production Programming" (Baker 1972), + "Microsoft Corporation: Office Business Unit" (iansiti 1994), "How to Break the Software + Logjam" (Schlender 1989), "Software Engineering Laboratory (SEL) Relationships, Models, + and Management Rules" (NASA, 1991), Microsoft Secrets (Cusumano and Selby 1995). + + + \subsubsection{Checklist for individual estimates} + 1. Is what's being estimated clearly defined? + 2. Does the estimate include all the kinds of work needed to complete the task? + 3. Does the estimate include all the functionality areas needed to complete the task? + 4. Is the estimate broken down into enough detail to expose hidden work? + 5. Did you look at documented facts (written notes) from past work rather than estimating purely from memory? + 6. Is the estimate approved by the person who will actually do the work? + 7. Is the productivity assumed in the estimate similar to what has been achieved on similar assignments? + 8. Does the estimate include a Best Case, Worst Case, and Most Likely Case? + 9. Is the Worst Case really the worst case? Does it need to be made even worse? + 10. Is the Expected Case computed appropriately from the other cases? + 11. Have the assumptions in the estimate been documented? + 12. Has the situation changed since the estimate was prepared? + [McCo 2006, p110] + + \section{Testen} + \subsection{Motivation} + Software Testing + - Operate/use a system with a set of known inputs and/or a set of (environmental) conditions + - Observe the reaction of the system and compare against the expected reaction + - -> Test against the requirements + - Measure the quality of a System + - Keep the quality of a system + - While changing the system (-> maintenance) + - Regression Testing + + Reference: ISTQB® Glossary of Testing Terms v2.2 (ANSI/IEEE 610.12-1990) + + \subsection{Definition: Error} + - Difference between actual and desired behavior (Istverhalten <-> Sollverhalten) + + - Failure: Deviation of the component or system from its expected delivery, service or result. + - Fehlerwirkung: Abweichung einer Komponente/eines Systems von der erwarteten (Daten)Übergabe, Leistung oder dem Ergebnis. (auch: äußerer Fehler, Ausfall) + - Fault -> Defect: A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g. an incorrect statement or data definition. A defect, if encountered during execution, may cause a failure of the component or system. + - Fehlerzustand: Defekt (innerer Fehlerzustand) in einer Komponente oder einem System, der eine geforderte Funktion des Produkts beeinträchtigen kann, z.B. inkorrekte Anweisung oder Datendefinition. Ein Fehlerzustand, der zur Laufzeit angetroffen wird, kann eine Fehlerwirkung einer Komponente oder Systems verursachen. (auch: innerer Fehler) + + \subsection{Testprozess} + ![Spil 2012, 21](Assets/Softwaretechnik2-Testprozess.png) + + ![Testklassifikation, Hoff 2008](Assets/Softwaretechnik2-Testklassifikation.png) + + Initial V-Model + %![](Assets/Softwaretechnik2-V-model.png) + + \subsection{W-Model} + %![](Assets/Softwaretechnik2-W-model.png) + + Testing Overview mit W-Model z.B. mit SCRUM: jeder Release eine W-model Phase + + \subsubsection{Develop Requirements Test Cases} + - Tasks + - Develop Test Case(s) for each requirement + - Setup a test plan , e. g., IEEE 829 + - Check + - Requirements <--> Test Cases + - Review + - Execution Environment + - Test SW (Tessy, LDRA,...), Web-Servers, CAN-Bus / Fieldbus, USB, Scope, ... + - Feasibility + - Do all test cases make sense? + - Requirements tested completely? + + + Test Software: Example, Tessy + ![http://www.hitex.com](Assets/Softwaretechnik2-Test-software-example.png) + + Classification Trees + %![Matthias Grochtmann, "Test Case Design Using Classification Trees", 1994; http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.83.9731](Assets/Softwaretechnik2-Classification-Trees.png) + + \subsubsection{Plan System Test} + - Task + - Refine Requirements / Test Cases + - Develop Test Model(s) + - Check + - Requirements refined? + - Test Cases refined? + - Review + - Refinement ok / feasible? + - Completeness? + - Test Case Execution + - Possible? + - Manual / automated execution? + - Estimation of test case execution time + + + Test Plan (IEEE829) [https://cabig.nci.nih.gov/archive/CTMS/Templates] + 1. INTRODUCTION + 1. SCOPE + 2. QUALITY OBJECTIVE + 3. ROLES AND RESPONSIBILITIES + 4. ASSUMPTIONS FOR TEST EXECUTION + 5. CONSTRAINTS FOR TEST EXECUTION + 6. DEFINITIONS + 2. TEST METHODOLOGY + 1. PURPOSE + 2. TEST LEVELS + 3. BUG REGRESSION + 4. BUG TRIAGE + 5. SUSPENSION CRITERIA AND RESUMPTION REQUIREMENTS + 6. TEST COMPLETENESS + 3. TEST DELIVERABLES + 1. DELIVERABLES MATRIX + 2. DOCUMENTS + 3. DEFECT TRACKING \& DEBUGGING + 4. REPORTS + 5. RESPONSIBILITY MATRIX + 4. RESOURCE \& ENVIRONMENT NEEDS + 1. TESTING TOOLS + 2. TEST ENVIRONMENT + 3. BUG SEVERITY AND PRIORITY DEFINITION + 4. BUG REPORTING + 5. TERMS/ACRONYMS + + Example: Testmodell (Statechart) + %![](Assets/Softwaretechnik2-Testmodell-statechart.png) + + Behavioral Test Model + %![](Assets/Softwaretechnik2-Behavioral-test-model.png) + + \subsubsection{Plan Integration Test} + - Task + - Refine Test Model(s) + - Check + - Traces + Requirements <--> Design Elements + - Test Cases refined + - Review + - Test Case Refinement feasible? + - Completeness of Interface Test Cases + - Communication protocols (USB, + fieldbus, SCSI, ...) + - Component interfaces, plug-in APIs + + \subsubsection{Plan Unit Test} + - Check + - Traces + Design Element <--> Code + thus, Test Cases <--> Code + - Unit Tests refined (for each function) + - Review + - Unit Tests complete? + + + \subsubsection{Test Implementation} + - Check + - Coding style + - Static Analysis + - Metrics, LOC, Cohesion, McCabe ... + - e. g., SPLINT: Null-Pointer + dereferencing, storage, information + hiding, ... + - Review + - Implementation of Test Cases / Test Steps + (-> Test Scripts) + + + Splint: Null pointer dereferencing + ![http://www.splint.org/, Splint Manual, page 14](Assets/Softwaretechnik2-splint-null-pointer.png) + + Splint: Variable Usage + ![http://www.splint.org/, Splint Manual, page 18](Assets/Softwaretechnik2-splint-variable.png) + + Splint: Information Hiding + ![http://www.splint.org/, Splint Manual, page 22](Assets/Softwaretechnik2-splint-information.png) + + Example: [PC-LINT](http://www.gimpel.com/html/lintchks.htm) + - Order of initialization dependencies + - Pointer members not deleted by destructors + - Missing destructors from classes using dynamic allocation + - Creation of temporaries + - Operator delete not checking argument for NULL + - Conflicting function specifiers + - ... + - -> Could also check MISRA rules + + \paragraph{MISRA} + [Motor Industry Software Reliability Association](http://www.misra.org.uk) + - Conform to ISO 9899 standard (C-Language) + - Multibyte characters and wide string literals shall not be used + - Sections of code should not be commented out + - In an enumerator list the = construct shall not be used to explicitly initialise members other than the first unless it is used to initialise all items + - Bitwise operations shall not be performed on signed integer types + - The goto statement shall not be used + - The continue statement shall not be used + - The break statement shall not be used, except to terminate the cases of a switch statement + - ... + + + \subsubsection{Unit Testing} + - Single functions / methods + - ~30min pro Comp.Point (McCabe) + - Priorisierung + - Nach McCabe + - Benutzungshäufigkeit + - Kritikalität + - Equivalence class testing + - Pre- / Post-conditions, Invariants + - "White-Box" testing + - Timing on a fine granularity level (-> functions) + + + Equivalence Class Testing + - A function F has a number of variables + - `void setdate(int day, int month, int year)` + - The variables have the following boundaries and intervalls + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + 1 $\leq$ day $\leq$ 31, for month in (1,3,5,7,8,10,12) + 1 $\leq$ day $\leq$ 30, for month in (4,6,9,11) + 1 $\leq$ day $\leq$ 28, for month=2 \&\& year\%4!=0 + 1 $\leq$ day $\leq$ 29, for month=2 \&\& year\%4==0 + 1 $\leq$ month $\leq$ 12 + -1000 $\leq$ year $\leq$ 3000 + \end{lstlisting} + + Equivalence Class Testing + %![](Assets/Softwaretechnik2-Equivalence-Class-Testing.png) + + Document Pre-/Postconditions + - E.g. with doxygen + - $\backslash pre$ Pre-condition + - $\backslash post$ Post-condition + - $\backslash invariant$ Invariant + - $\backslash test$ Test Case + - $\backslash todo$ todo‘s left ... + + %![](Assets/Softwaretechnik2-doxygen1.png) + %![](Assets/Softwaretechnik2-doxygen2.png) + %![](Assets/Softwaretechnik2-doxygen3.png) + + \paragraph{Check for Memory Leaks} + ![Windows / Visual Studio](Assets/Softwaretechnik2-memory-leaks.png) + + Check for Memory Leaks + ![Linux / Valgrind http://valgrind.org/](Assets/Softwaretechnik2-memory-leaks2.png) + + [Memory Leak](http://www.cprogramming.com/debugging/valgrind.html) + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + #include + int main() + { + char *x = malloc(100); // or, in C++, + //"char *x = new char[100] + return 0; + } + \end{lstlisting} + - ==2330== 100 bytes in 1 blocks are definitely lost in loss record 1 of 1 + - ==2330== at 0x1B900DD0: malloc (vg replace malloc.c:a131) + - ==2330== by 0x804840F: main (example1.c:5) + + \paragraph{Invalid Pointers} + (http://www.cprogramming.com/debugging/valgrind.html) + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + #include + + int main() + { + char *x = malloc(10); + x[10] = 'a'; + return 0; + } + \end{lstlisting} + - ==9814== Invalid write of size 1 + - ==9814== at 0x804841E: main (example2.c:6) + - ==9814== Address 0x1BA3607A is 0 bytes after a block of size 10 alloc'd + - ==9814== at 0x1B900DD0: malloc (vg replace malloc.c:131) + - ==9814== by 0x804840F: main (example2.c:5) + + No Bounds Checking! + + \paragraph{Use Of Uninitialized Variables} + (http://www.cprogramming.com/debugging/valgrind.html) + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + #include + int main() + { + int x; + if(x == 0) + { + printf("X is zero"); + } + return 0; + \end{lstlisting} + - ==17943== Conditional jump or move depends on uninitialised value(s) + - ==17943== at 0x804840A: main (example3.c:6) + + \paragraph{Unit Testing} + - A TestCase holds the code of what to test + - ... with the runTest method + - TestFixture ( TestCase + setUP / tearDown methods) + - RepeatedTest -> Test + times to repeat ... + - A TestSuite contains many single Tests + - ... run() all Tests + - A TestListener is implemented as observer pattern to follow the testing progress + - The TestRunner manages the lifecycle of all tests added + + Unit Testing: embUnit ... + %![](Assets/Softwaretechnik2-embUnit.png) + + Example: counter + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + typedef struct __Counter Counter; + typedef struct __Counter* CounterRef; + + struct __Counter { + int value; + }; + + CounterRef Counter_alloc(void); + void Counter_dealloc(CounterRef); + CounterRef Counter_init(CounterRef); + CounterRef Counter_counter(void); + int Counter_value(CounterRef); + void Counter_setValue(CounterRef,int); + int Counter_inc(CounterRef); + int Counter_dec(CounterRef); + void Counter_clr(CounterRef); + + CounterRef Counter_alloc(void){ + return (CounterRef)malloc(sizeof(Counter)); + } + + CounterRef Counter_init(CounterRef self){ + self->value = 0; + return self; + } + + CounterRef Counter_counter(void){ + return Counter_init(Counter_alloc()); + } + + int Counter_inc(CounterRef self){ + self->value++; + return self->value; + } + + int Counter_dec(CounterRef self){ + self->value--; + return self->value; + } + \end{lstlisting} + + Example: testcounter.c + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + #include + #include "counter.h" + #include "stdio.h" + + CounterRef counterRef; + + static void setUp(void){ + counterRef = Counter_counter(); + } + + static void tearDown(void){ + Counter_dealloc(counterRef); + } + + static void testSetValue(void){ + Counter_setValue(counterRef,1); + TEST_ASSERT_EQUAL_INT(1, Counter_value(counterRef)); + + Counter_setValue(counterRef,-1); + TEST_ASSERT_EQUAL_INT(-1, Counter_value(counterRef)); + } + + static void testInc(void){ + Counter_inc(counterRef); + TEST_ASSERT_EQUAL_INT(1, Counter_value(counterRef)); + + Counter_inc(counterRef); + TEST_ASSERT_EQUAL_INT(2, Counter_value(counterRef)); + } + + TestRef CounterTest_tests(void){ + EMB_UNIT_TESTFIXTURES(fixtures) { + new_TestFixture("testInit",testInit), + new_TestFixture("testSetValue",testSetValue), + new_TestFixture("testInc",testInc), + new_TestFixture("testDec",testDec), + new_TestFixture("testClr",testClr), + }; + EMB_UNIT_TESTCALLER(CounterTest,"CounterTest", setUp,tearDown,fixtures); + return (TestRef)&CounterTest; + } + \end{lstlisting} + + Example: main.c + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + #include + #include "stdio.h" + + TestRef CounterTest_tests(void); + TestRef PersonTest_tests(void); + + int main (int argc, const char* argv[]){ + TestRunner_start(); + TestRunner_runTest(CounterTest_tests()); + TestRunner_runTest(PersonTest_tests()); + TestRunner_end(); + return 0; + } + \end{lstlisting} + + \subsubsection{Integration Testing} + - Test the correct behavior of interacting components + - Interfaces are the main focus + - "White/Grey-Box" testing + - Correct timing behavior + + + \paragraph{Time Measurement} + Profiling (e. g., GNU Profiler) + + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + start=clock(); + myfunc(); + clocks=clock()-start; + Seconds = clocks / CLOCKS_PER_SEC; + + *io_pin = 1; + myfunc(); + *io_pin = 0; + \end{lstlisting} + + [In-Circuit Debugger](http://www.ghs.com) + [chronSIM](http://www.inchron.de) + + \subsubsection{System Testing} + - Test the system against the specification (the test cases of each requirement) + - "Black-Box" testing + - Test before the final delivery + - Testing at the development site + - Testing with testdata (can be formerly "real" data) and/or mock-up data + + + \subsubsection{System Testing} + - Requirements Coverage + - Test Model Coverage + - Path Coverage + + + %[Coverage](http://en.wikipedia.org/wiki/Code_coverage) + - Function Coverage `foo() called` + - Statement Coverage `foo(1,1)` + - Decision Coverage `foo(1,1); foo(0,1)` + - Condition Coverage `foo(1,1); foo(1,0); foo(0,0)` + + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + int foo(int x, int y){ + int z = 0; + if ((x>0) && (y>0)) { + z = x; + } + return z; + } + \end{lstlisting} + + \paragraph{Statistical Testing} + Paths through the model ... + %![](Assets/Softwaretechnik2-statistical-testing.png) + + \subsubsection{Acceptance Testing} + - Testing at the customer site (by the customer) + - Testing with "real" data and/or online testing + - "Black-Box" testing + - ->Decision to finalize the project (Payment ...) + + \subsection{Beispiel: Testen eines Softstarters} + Quelle: Florian Kantz, Thomas Ruschival, Philipp Nenninger, Detlef Streitferdt, "Testing with Large Parameter Sets for the Development of Embedded Systems in the Automation Domain", 2nd IEEE International Workshop on Component-Based Design of Resource-Constrained Systems (CORCS) at the 33rd IEEE International Computer Software and + Applications Conference (COMPSAC), Seattle / Washington, 2009. + + \paragraph{Development of Embedded Systems} + Levels of testing + - Coding / Debugging level + - Functional level + - Component level + - Integration level / black-box testing + + Testing of Embedded Systems + - Behavior of a Softstarter + - Start / stop a motor, "single button" operation + - Monitoring + - Parameters for the Configuration + - Softstarter has about 150 parameters for configuration + + Size of the Task ... + -> $1.0 * 10^{110}$ permutations ($1.9*10^104$ years) + + Goal: Reduce the number of permutations to test -> Identify a feasible subset of permutations + + Reduction of the Resulting Test Cases + - Clustering of parameters + - Independent subsets of parameters + - Introducing constraints between parameters + - To reduce the permutations of the parameters being part of a constraint rule. + - Pairwise Testing + - Finally reduce to a feasible number of permutations + + Clustering of Parameters + - Group parameters having no interaction with parameters outside the group + - Based on expert knowledge + - ... and a manual code analysis (-> unit testing) + + Constraints Between Parameters + - Mutual Exclusion + - Function Switching Parameters + - Selection of Ranges + + Pairwise Testing + - n-Way Testing + - Assumption: There are 3 parameters with 2 possible values each + - 8 possible parameter settings are reduced to 4 + %- ![Rick Kuhn, http://csrc.nist.gov/groups/SNS/acts/index.html](Assets/Softwaretechnik2-pairwise-testing.png) + - Anwendung + - Medical Devices + - Web Browser + - Server + - Distr. Database + - Traffic Collision Avoid. + + \paragraph{Conclusion} + %![](Assets/Softwaretechnik2-parameter-testing.png) + - Structured way of handling complexity + - Approach is used in addition to the manually developed test cases + - Calculated reduction down to 7.5*10-27% (0,000000000000000000000000000075%) + - Means, if ,,Roadrunner'' (1456 TFlops) would have an assignment to calculate for 290382 years this approach would reduce it to one single instruction! + - But we would still have $2.26*10^69$ to test ... (opposed to $1.0*10^110$ ) + - Lessons learned + - Approach has to be smartly adapted to black-box test the complete system + - Approach is very good for sub-systems / sub-problems + + + Pairwise Testing tools + - Jenny (cmd-line tool, C-Code) + - [NIST Tool](http://csrc.nist.gov/groups/SNS/acts/index.html) (open source) + - [http://www.testersdesk.com](http://www.testersdesk.com) (open source) + + + \section{Software Product Lines} + \subsection{Beispiel: Cycling Computers ...} + %![](Assets/Softwaretechnik2-Cycling-Computers.png) + + \subsection{History of Terms} + Both terms, Systemfamily and Product Line, refer to the same idea with different perspectives! + + - Systemfamily -> Technical Term + - How are the products developed / built? + - Product Line -> Business Term + - What are differences / features for selling the products? + + The term "product line" is now well established for both ideas within the software development domain. + + What is behind Product Lines? + - Make use of Commonalities \& Variabilities + - Based on Feature Oriented-Domain Analysis [Kang 1990,1998,2002] + - Reference Architecture for the common parts (and all future products) + - Components for the variable parts (variabilities of each individual product) + - Automated derivation of variants based on the features of a desired product + - SW Product Lines are between mass products and single products + - -> A customizable mass product + + Costs of a Product Line + ![Pohl 2005, p10](Assets/Softwaretechnik2-product-line-cost.png) + + Time to Market of a Product Line + ![Pohl 2005, p11](Assets/Softwaretechnik2-time-to-market.png) + + \subsection{Currently available Software Product Lines} + Product Line Examples + - ABB, Gas Turbine Family, 35-270MW, Semantic Graphics Framework, Train Control Product Line + - Boeing, Bold Stroke (operational flight program software) + - CelsiusTech Systems AB, Naval Control Software + - Cummins Inc., Motor Control Software + - Hewlett-Packard, Printer Firmware + - Lucent Technologies, Telephone Switching SW + - Philips, Consumer Electronics + - Philips Medical, X-ray, ultrasonic, tomography + - Bosch, Driver Assistance Systems (e.g., parking pilot) + - Siemens Medical, X-ray, Magnetic Resonance, CT [Pohl 2005], pp.414-434 + + + \subsection{Product Line Development Cycle} + Product Line Development Concept + ![Pohl 2005, p21](Assets/Softwaretechnik2-product-line-development-concept.png) + - Domain Engineering: Domain engineering is the process of software product line engineering to define and realize the commonality and the variability of the product line. + - Application Engineering: Application engineering is the process of software product line engineering to build the applications of the product line by reusing domain artifacts and exploiting the product line variability. + + \subsection{The Concept of Variability} + - Variation Point (of development/design elements): A variation point is a representation of a variability subject within domain artifacts enriched by contextual information. + - Variant (core + set of elements with variation points): A variant is a representation of a variability object within domain artifacts. + - Variability in Time: Variability in time is the existence of different versions of an artifact valid at different (application lifecycle) times. (-> roadmap ) + - Variability in Space: Variability in space is the existence of an artifact in different shapes at the same time. (-> binding time ) + - External Variability: External variability is the variability of domain artifacts that is visible to customers. + - Internal Variability: Internal variability is the variability of domain artifacts that is hidden from customers. + [Pohl 2005] + + \subsection{Modeling of Product Lines using Features} + \subsubsection{Features} + A feature is a user visible property of a product -> the user is willing to pay for such a property + - Functional Features + - Interface Features + - Parameter Features + - Structural Features + Depicted as ... Feature + + Feature Modeling + %![](Assets/Softwaretechnik2-feature-modeling.png) + - mandatory + - ![Hera 2009](Assets/Softwaretechnik2-feature-mandatory.png) + - $Variants = \prod_{i=1}^S Variants(f_i)$ + - $Variants(f_i) = 1 \text{ if } isLeaf(f_i) == true$ + - optional + - ![Hera 2009](Assets/Softwaretechnik2-feature-optional.png) + - $Variants = \prod_{i=1}^S (Variants(f_i) + 1)$ + - $Variants(f_i) = 1 \text{ if } isLeaf(f_i) ==true$ + - XOR + - ![Kang 1990](Assets/Softwaretechnik2-feature-xor.png) + - $Variants = \sum_{i=1}^S Variants(f_i)$ + - $Variants(f_i) = 1 \text{ if } isLeaf(f_i) ==true$ + - OR + - ![Kang 1990](Assets/Softwaretechnik2-feature-or.png) + - $Variants = (\prod_{i=1}^S (Variants(f_i)+1) ) - 1$ + - $Variants(f_i) = 1 \text{ if } isLeaf(f_i) == true$ + + \paragraph{Feature Modeling: Example} + %![](Assets/Softwaretechnik2-feature-modeling2.png) + + - $Variants_{Editor} = \prod_{i=1}^S Variants(f_i) = 1*2 = 2$ + - $Variants_{Encryption} = \prod_{i=1}^S (Variants(f_i) +1 ) = 2*2 = 4$ + - $Variants_{Server_Connection} = \sum_{i=1}^S Variants(f_i)=3$ + - $Variants_{Email_Client} = \prod_{i=1}^S Variants(f_i) = 2*4*3 = 24$ + + \paragraph{Example Tool: PureVariants} + [Cycle Computer Model](http://www.pure-systems.com) + + \begin{lstlisting}[ + language=Java, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.start_screen); + ... + + PV:IFCOND(pv:hasFeature('Geschwindigkeitszeigen')) + TextView tv = (TextView)findViewById(R.id.start_digi_speed); + tv.setTypeface(tf); + PV:ENDCOND + ... + } + \end{lstlisting} + -> Managed preprocessor directives! + + \paragraph{Example online-tool:} + [http://www.splot-research.org](http://www.splot-research.org) + + + \subsection{Handling Variability} + %![](Assets/Softwaretechnik2-variability.png) + + \subsubsection{Design Time} + Variability of Use Cases + ![Pohl 2005, p105](Assets/Softwaretechnik2-Variability-cases.png) + ![http://www.oose.de/uml](Assets/Softwaretechnik2-UML-1.png) + + Variability Traces to the Architecture + ![Pohl 2005, p125](Assets/Softwaretechnik2-UML-2.png) + + Modeling Variability by Design Patterns + %![](Assets/Softwaretechnik2-Design-pattern.png) + + Patterns: + - Implemented/~ing Design Variability + - Structural Patterns + - E. g., Adapter, Decorator, Facade, Proxy, ... + - Behavioral Patterns + - E. g., Strategy + - Creational Patterns + - E. g., Abstract Factory + + \paragraph{Factory Pattern} + sourcemaking.com + - Intent + - Define an interface for creating an object, but let subclasses decide which classto instantiate. Factory Method lets a class defer instantiation to subclasses. + - Defining a "virtual" constructor + - The new operator considered harmful + - Problem + - A framework needs to standardize the architectural model for a range of applications, but allow for individual applications to define their own domain objects and provide for their instantiation + + \paragraph{Factory Method} + %![](Assets/Softwaretechnik2-factory-method.png) + + Example: Pocket Coffee Machine + - One-Button Operation, -> prepare coffee + - ... one machine per pad type ... + - The machine type shall be "jumpered" at production time + - [http://www.handpresso.com](http://www.handpresso.com) + %![](Assets/Softwaretechnik2-CoffeeMachine.png) + %![](Assets/Softwaretechnik2-CoffeeMachine2.png) + + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + public static void main(String[] args){ + Abstract_Creator_CoffeMachine theMachineCreator; + switch( getJumperedVersion()){ + case 1: + theMachineCreator = new Create_handpresso_machine(); + theMachineCreator.getAny_machine().prepareCoffee(); + break; + case 2: + theMachineCreator = new Create_micropresso_machine(); + theMachineCreator.getAny_machine().prepareCoffee(); + break; + default: + break; + } + } + \end{lstlisting} + + \paragraph{Abstract Factory Pattern} + %![](Assets/Softwaretechnik2-abstract-factory-pattern.png) + + %![](Assets/Softwaretechnik2-abstract-factory-god.png) + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + Deus_Ex_Factory* _factory; + God* _god; + _factory=new VeryHighDevLF_Ex_Factory; + _god=_factory->createGod(); + _god->createBigBang(); + + God* VeryHighDevLF_Ex_Factory::createGod(){ + Deus_Ex_Factory::setInstanceOfGod(new VeryHighDev_LF); + return Deus_Ex_Factory::getInstanceOfGod(); + } + \end{lstlisting} + + \paragraph{Decorator} + %![](Assets/Softwaretechnik2-Decorator.png) + + \subsubsection{Compile Time} + \paragraph{Variabiliy at Compile Time} + - Exchange C-files before compilation + - "Enabled" in the design + - Replacement / extension + - \#ifdef directives + - In the code ... (pre-processor) + - High effort to maintain the code + - Defines + - As environment variable for "make" + + Variability at Linking Time + - Use different libraries (libraries with the same interface) + - Update (-> replace libraries) + - Static linking + - \#Linker directives, \#ifdef + + \subsubsection{Startup Time} + Deliver different systems + + \subsubsection{Runtime} + Variability at Runtime + - Use different libraries + - Update (-> replace libraries at system startup) + - Configuration files + - switch/if , based on config-files + - Virtual Machines / Scripts, Interpreter + + \subsection{Aspect-Oriented Programming} + AOP was developed in the mid 90ies by Gregor Kiczales at the Xerox Palo Alto Research Lab (PARC) (now: Professor at the University of British Columbia, Canada) + - Handle cross-cutting concerns in software systems to increase the code maintainability and reusability + - E.g., persistency, authentication/security, error handling + - Cross-Cutting Concern <-->Feature + + %![](Assets/Softwaretechnik2-aspect-oriented-programming.png) + + \subsubsection{AOP / AspectJ} + New Concepts + - Pointcut + - Choose the methods of the software system + - Select values for several Join Points (hosting the resulting methods) in the program flow + - Execute the code specified in an Advice for each join point + - As replacement for the original method + - To extend the original method (before/after the original method) + - Inter-type declarations + - For the modification of the static structure of the software system (class members and class relationships) + - Aspects + - Are the modules to host crosscutting concerns (e. g., serialization, security) and may include pointcuts, advices, and inter-type declarations + + \subsubsection{Example: Authentication} + %![](Assets/Softwaretechnik2-aop-routing.png) + %![](Assets/Softwaretechnik2-aop-authentication.png) + + - Within the AuthPayment pointcut, ep refers to the object of the adviced method + - call : method call + - execution: execution of the method content + - get/set : reading / writing of attributes + - initialization : ... of the object + - handler : exception handler + - Signature of the method being part of the aspect. + - Wildcards: + - * An arbitrary number of characters + - .. An arbitrary number of characters with the point ‚.‘ + - + Includes the subtypes (here: subtypes of Routing) + - When to inject code? + - before the base method is executed + - after the base method is executed + - around new behavior with existing method referred by proceed() + + Summary: Aspect Oriented Programming + - Very good separation of concerns + - Design of aspects is vital for the success of the development + - Only parts of the system behavior are in the code, all others are in aspects. + - Hard to (statically) analyze the system. + - Testing of such systems ... + + \subsection{Domain Specific Languages} + Definition: A Domain Specific Language (DSL) is a computer programming language (-> grammar and syntax) to formulate / implement solutions for problems in a specified (limited) domain. + + \subsubsection{Types of DSLs} + %![](Assets/Softwaretechnik2-Domain-specific-languages.png) + + Example: Graphviz dot + ![http://www.graphviz.org/](Assets/Softwaretechnik2-Graphviz-dot.png) + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + digraph finite_state_machine{ + rankdir=LR; + size="8,5" + node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8; + node [shape = circle]; + LR_0 -> LR_2 [ label = "SS(B)" ]; LR_0 -> LR_1 [ label = "SS(S)" ]; + LR_1 -> LR_3 [ label = "S(\$end)" ]; LR_2 -> LR_6 [ label = "SS(b)" ]; + LR_2 -> LR_5 [ label = "SS(a)" ]; LR_2 -> LR_4 [ label = "S(A)" ]; + LR_5 -> LR_7 [ label = "S(b)" ]; LR_5 -> LR_5 [ label = "S(a)" ]; + LR_6 -> LR_6 [ label = "S(b)" ]; LR_6 -> LR_5 [ label = "S(a)" ]; + LR_7 -> LR_8 [ label = "S(b)" ]; LR_7 -> LR_5 [ label = "S(a)" ]; + LR_8 -> LR_6 [ label = "S(b)" ]; LR_8 -> LR_5 [ label = "S(a)" ]; + } + \end{lstlisting} + + \subsubsection{Example: Test Case Generation} + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + model simple_model + tc: |\$ // access to the test-api |\$ + |\$ extern void addtostream(int); + ... + |\$ #define SENSOR_SPEED 0x0000 |\$ void + testcase_1() + |\$ { + |\$ + + source [START] + "init" + [S_START] + + [S_START] + "0x55" + tc:|\$ addtostream(0x55); + [startheader] + ... + \end{lstlisting} + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + extern void addtostream(int); + ... + #define SENSOR_SPEED 0x0000 + ... + void testcase_1() + { + addtostream(0x55); + addtostream(0x04); + ... + addtostream(0x02); + } + \end{lstlisting} + + Example: Compiler Generators + flex/bison the former lex/yacc duo + %![](Assets/Softwaretechnik2-compiler-generator.png) + + \subsubsection{Scanner} + \begin{lstlisting} + digit [0-9] + number {digit}+\.?|{digit}*\.{digit}+ + identifier [a-zA-Z]+ + %%[ ] { /* Skip blanks. */ } + {number} { sscanf(yytext, "%lf", &yylval); + return NUMBER; } + \n|. { return yytext[0]; } + \end{lstlisting} + + %``` + %token NUMBER + %left '+' '-‘ + %left '*' '/‘ + %right UMINUS + + %%lines:lines expr '\n‘ { printf("%.12g\n", $2) } + % | lines '\n‘ + % | /* empty */ + % | error '\n' { yyerror("Re-enter: "); + % yyerrok; } + % ; + + %expr: expr '+' expr { $$ = $1 + $3; } + % | expr '-' expr { $$ = $1 - $3; } + % | expr '*' expr { $$ = $1 * $3; } + % | expr '/' expr { $$ = $1 / $3; } + % | '(' expr ')' { $$ = $2; } + % | '-' expr %prec UMINUS { $$ = -$2; } + % | NUMBER + %; + %``` + + + \section{Software Maintenance} + \subsection{Motivation} + - Software won‘t wear out! + - It gets old when it is changed by developers -> Architectural Decay + + Product Life Cycle: months ... many years + + Background + - Why? + - Maintenance: Fix broken software (-> bugs) + - Evolution + - Extend existing software (-> new features/functions) + - Develop (bad ->)good software + - Long Living Software (changes in HW/SW) + - Re-develop software + - When? Product Strategy, Business Rules + - Goals? Changeability, Maintainability, Comprehension + + \subsection{Reengineering} + ![SEI 1998](Assets/Softwaretechnik2-Reengineering.png) + + Terms + - Reverse Engineering + - Reconstruct the plan / the requirements of the ready made software + - Reengineering + - Change a Software System to enhance its Quality (at a higher abstraction level than -> Refactoring) + - Forward Engineering + - Opposite of -> Reverse Engineering. Standard development cycle, e. g., OpenUP, SCRUM, V-Model,... + + System Analysis + - How does the current system look like? + - What do we want to change + - Which rules do we want to follow and which rules are broken? + + - Running Software System + - Observation of the externally visible behavior + reaction + - Use Cases + - Requirements + - Code + - Disassembling / decompilation (not allowed by law!) + - Only for scientific work! OpenRCE (Rerverse Code Engineering, http://www.openrce.org) + - Counterpart: Obfuscation + - Transformation (-5...+5) + - Re-Order Code + - Change Variable Names + - Add branches (if (true) ...), each instruction as subroutine ... + - NOPs + - Encryption (of code) + - Obfuscator vermeiden + - Design \& Requirements + - Design by observation (marginal) + - Requriements by observation (as above) + - Manual tasks + - Interview former / current employees + - Interview users of the system + - Deep Search of Documents + - -> Assess ~~the Feasibility of the Project~~ Reverse-Engineering might become Re-Development + + + \subsection{Code Smells} + \subsubsection{Code - Hard to read } + - Rules/Hints for Good Code - Naming + - Names want to tell their intention + - `int x; // average speed ->int averageSpeed;` + - + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + void strcpy(char *a, char *b) -> + strcpy(char *destination, char *source) + strcpy(char *to, char *from) + \end{lstlisting} + - Be careful with e.g., btevhdl -> buttonEventHandler + - Don‘t ...: String noOfWayPoints; + - Where (in different types of lists) to add() / insert(), or how to sort()? + - Names that tell the intention + - List (alphabetically) of (global) variables in the code documentation + - Character similarities (-> the font question ...) + - "Ohhh Zero" O0 + - "Ihh One" I1, I1 + - "smallEL.. largeiI" lI + - Rules/Hints for Good Code - Functions + - Functions have a single, simple and clear behavior + - Don‘t duplicate code (code redundancy) + - Agree, enforce and live a project wide coding style + - Hard to follow call graphs if using function pointers + - Specifically document such occurences + - Don‘t use switch to access different class types + - -> use Polymorphism instead + - switch(typeof(object)) or switch(object.type) + - Reduce the number of arguments of a function/method + - ->use objects for more than three arguments + - Rules/Hints for Good Code - Comments + - Don‘t forget the Copyright Notice + - Comments do not only repeat the function name ... + - Keep comments in sync with the code (-> Review) + - Use exception handling + - Rules/Hints for Good Code - Global ... + - Exchange hand written parsers with -> DSL technology + - Start with non-threaded code, improve towards threads/parallelism + - Carefully select global variables (-> Singletons) + + \subsection{Metrics} + \subsubsection{The Law of Demeter} + - Proposed by Karl J. Lieberherrs research group in 1987 + - Northeastern University, College of Computer and Information Science, Boston, Massachusetts (http://www.ccs.neu.edu/home/lieber/) + - Style rule for the development of a good system design + - Law of Demeter %(http://en.wikipedia.org/wiki/Law_of_Demeter) + - Method M of Object O + 1. may only invoke methods of O + 2. use parameters of M + 3. use/call methods of any object created in M + 4. may invoke methods of O‘s direct component objects + 5. may access a global variable accessible by O, in the scope of M + + + + @ Design Level + - Overall Architecture + - Use -> static / dynamic analyses to asses + - Cohesion : A class strongly focussing on a single goal has a high cohesion. + - Coupling : A component which highly depends (by method calls) on another component is strongly coupled. + - ... of the architectural components + - Goal: low coupling and STRONG COHESION + + Calculate Cohesion + - *L*ack of *CO*hesion in *M*ethods for a class C + $$LCOM=1-\frac{1}{M*F} \sum_{i=1}^F count(f_i \leftarrow m)$$ + - M = Number of Methods in C + - F = number of fields in C (or attributes) + - fi = field i in the set (i=1...F) of the fields in a given class C + - count(fk <- m) = how many methods m use field fk + $$LCOM_{HS} = \frac{1}{M-1}(M-\frac{1}{F} \sum_{i=1}^F count(f_i\leftarrow m))$$ + - HS = Henderson-Sellers + - $LCOM_{HS}=1$ %![](Assets/Softwaretechnik2-LCOM-1.png) + - $M\rightarrow \infty, LCOM_{HS}\rightarrow 1$ %![](Assets/Softwaretechnik2-LCOM-2.png) + - $F\rightarrow \infty, LCOM_{HS}\rightarrow 1$ %![](Assets/Softwaretechnik2-LCOM-3.png) + - $M, F\rightarrow \infty, LCOM_{HS}\rightarrow 1$ %![](Assets/Softwaretechnik2-LCOM-4.png) + + + Cohesion + - As used in the Eclipse Metrics Plugin + $$LCOM *= \frac{\frac{\sum_{A=1}^n m(A)}{n} -m}{(1-m)}$$ + - $m(A)$ is the number of methods accessing an attribute A + - $n$ is the number of attributes + - $m$ is the number of methods m + - ($LCOM >> 1$ is alarming), small values ($<1$) are better. + - Hint: The class could be split into a number of (sub)classes. + - %![](Assets/Softwaretechnik2-highly-coupled.png) + - Changes in A cause the need to check B, C, D, E, F + - The interface of A might be hard to reuse in future/other projects + - Coupling : A component which highly depends (by method calls) on another component is strongly coupled. + - Afferent Coupling = \#Classes outside a package that depend on classes inside the package. + - Efferent Coupling = \#Classes inside a package that depend on classes outside the package. + + + Design Level + - "Tell, don‘t ask!" + - Bad: car.getSteeringWheel().getAngle() + - Better: car.getDirectionOfTravel() + - Start with reference architectures and refine ... + - Layers, pipes and filters, plug-in, client / server, MVC + - Use design patterns, (or at least) their concepts + - A class / component interface should hide most of the complexity underneath (-> Facade Pattern) + - 30-Rule, [Rooc 2004], p35 + - Methods <= 30LLOC + - \#Methods per Class < 30 + - \#Classes per Package < 30 + - \#Packages per Subsystem < 30 + - System < 30 subsystems + - \#Layers 3 ... 10 + + - Usage / Inheritance Relations + - Inheritance hierarchy < 10 + - In and between Packages + - Keep a small hierarchy (<5) + - In and between Subsystems + - Keep APIs small + - In and between Layers + - Use layers at all! + - Calls should follow the layer structure + - Don‘t use/allow cycles + + \subsubsection{What is the simplest design?} + By Kent Beck, [Beck 2000], page 109 + 1. The system (code and tests together) must communicate everything you want to communicate. + 2. The system must contain no duplicate code. + 3. The system should have the fewest possible classes. + 4. The system should have the fewest possible methods. + + Requirements Level + - Sometimes hard to find but easy to change at very low costs! + - Inconsistencies + - Redundancy + - Contradictions + - Misspellings + - Wording (domain specific) + - Constraints (missing ~) + - Missing requirements vs. "goldplating" + - ... + + \subsection{Refactoring} + \subsubsection{Refactoring Overview} + - Software changes (beautifying) without changing the behavior! + - "Refactoring (noun): a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior." [Fowl 1999, Martin Fowler, "Refactoring - Improving the Design of Existing Code", Addison Wesley, 1999, page 53.] + - (Highly) dependant on the tool support (-> IDE) + - Reduced errors while refactoring + + ![http://www.eclipse.org/org/usagedata/](Assets/Softwaretechnik2-eclipse-refactoring.png) + + \subsubsection{Refactoring Howto} + 1. Set up the test cases for your code + 2. Review the test cases + 3. Identify the smells + 4. Refactor the code - Stepwise!! + 5. Execute all test cases + 6. Fix errors + - Go back to 6. unless the test result is green + 7. Go to 4. and continue refactoring + + \subsubsection{Composing Methods} + \paragraph{Extract Method } + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + void printMainScreen() { + System. out.println("Main Screen"); + // print details + System. out.println("Speed"); + System. out.println("curr Temp"); + } + \end{lstlisting} + zu + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + void printMainScreen () { + System. out.println("Main Screen"); + printMainScreenDetails(); + } + private void printMainScreenDetails() { + System. out.println("Speed"); + System. out.println("curr Temp"); + } + \end{lstlisting} + \paragraph{Inline Method } + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + int getRating(){ + return(hasMoreThanFiveDeliveries())?2:1; + } + boolean hasMoreThanFiveDeliveries(){ + return(noOfDeliveries>5); + } + \end{lstlisting} + zu + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + int getRating(){ + return(noOfDeliveries>5)?2:1; + } + \end{lstlisting} + + \paragraph{Remove Assignments to Parameters} + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + int discount(int inputVal, in quantity, in yearToDate){ + if(inputVal>50) inputVal -= 2; + ... + \end{lstlisting} + zu + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + int discount(int inputVal, in quantity, in yearToDate){ + int result = inputVal; + if(inputVal>50) result -= 2; + ... + \end{lstlisting} + + \paragraph{Moving Features between Objects} + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + public class SmallCycle{ + DataModel myDM = new DataModel(); + int localValue; + public void calcHeight() { myDM.height = 45; localValue = 100; } + public void calcSurface() { myDM.surface = 452; calcHeight(); } + ... + \end{lstlisting} + zu + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + public class SmallCycle { + ... + public void calcSurface(){ + myDM.surface = 452; + myDM.calcHeight( this); + } + ... + + public class DataModel { + public int height; + public int surface; + public void calcHeight(SmallCycle smallCycle){ + height = 45; + smallCycle.localValue = 100; + } + \end{lstlisting} + + \paragraph{Extract Class} + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + public class BigCycle { + ... + String owner; + String ownerBirthday; + public BigCycle(){ + owner = "Harry"; + } + \end{lstlisting} + zu + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + public class BigCycle { + ... + Owner localOwner = new Owner(); + public BigCycle(){ + localOwner.setName("Harry"); + } + } + ... + public class Owner{ + private String name; + private String birthday; + ... + public void setName(String name){ + this.name = name; + } + ... + } + \end{lstlisting} + + \subsubsection{Organizing Data} + Replace Magic Number with Symbolic Constant + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + double getLengthPerTireTick(int tiresize){ + return ((tiresize*25.4)/2)*2*3.141 + } + \end{lstlisting} + zu + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + ... return ((tiresize*MMPERINCH)/2)*2*Math.PI + static final double MMPERINCH = 25.4 + \end{lstlisting} + + \paragraph{Simplifying Conditional Expressions} + - Decompose Conditional + - Consolidate Conditional Expression + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + double disabilityAmount(){ + if(_seniority <2) return 0; + if(_monthsDisabled >12) return 0; + if(_isPartTime) return 0; + //compute disability amount + } + double disabilityAmount(){ + if(isNotEligableForDisability()) return 0; + //compute the disability amount + } + \end{lstlisting} + - Consolidate Duplicate Conditional Fragments + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + if(isSpecialDeal()){ + total = price * 0.95; + send(); + } + else { + total = price * 0.98; + send() + } + \end{lstlisting} + zu + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + if(isSpecialDeal()) + total = price * 0.95; + else + total = price * 0.98; + send(); + \end{lstlisting} + - Replace Nested Conditional with Guard Clauses + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + double getPayAmount(){ + double result; + if(_isDead) result = deadAmount(); + else { + if(_isSeperated) result = seperatedAmount(); + else { + if(_isRetired) result = retiredAmount(); + else result = normalPayAmount(); + } + } + return result; + } + \end{lstlisting} + zu + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + double getPayAmount(){ + if(_isDead) return deadAmount(); + if(_isSeperated) return separatedAmount(); + if(_isRetired) return retiredAmount(); + return normalPayAmount(); + } + \end{lstlisting} + - Replace Conditional with Polymorphism + + \begin{lstlisting}[ + language=C++, + showspaces=false, + basicstyle=\ttfamily, + commentstyle=\color{gray} + ] + double getSpeed(){ + switch(type){ + case EUROPEAN: + return getBaseSpeed(); + case AFRICAN: + return getBaseSpeed() - getLoadFactor() * _numberOfCoconuts; + case NORWEGIAN_BLUE: + return (_isNailed) ? 0 : getBaseSpeed(_voltage); + } + } + \end{lstlisting} + + \subsubsection{Making Method Calls Simpler} + - Rename Method + - Separate Query from Modifier + + \subsubsection{Dealing with Generalization} + - Pull Up Field + - Push Down / Pull Up + + \subsubsection{Other Refactorings} + - Change Method Signature + - Extract Local Variable + - Extract Local Variable to Field + - Convert Anonymous Class to Nested + - Move Type to new File + - Extract Superclass + - Extract Interface + + \subsection{Long Living Software} + Mars Rover Software Coding Guidelines + %![](Assets/Softwaretechnik2-mars-rover-software.png) + + [Moodle](A. Brown and G. Wilson, The Architecture of Open Source Applications, Volume II , lulu.com, 2012.) + %![](Assets/Softwaretechnik2-moodle.png) + - Core: Web-Server (e. g., Apache) hosting the PHP-code + - Server: /var/www/moodle/category.php + - Client: https://moodle2.tu-ilmenau.de/course/category.php?id=92 + - Connects to a database (e. g., MySQL) + - moodledata folder (outside the web root) + - Extensible: moodle Plug-In API (according to plugin types) + - = a folder / + - Documentation @ https://moodle.org/ + + \subsubsection{Compiler Compiler } + (e. g., flex/bison) + - Lexer, Yet Another Compiler Compiler + - First compiler-compiler 1960 by Tony Brooker + - YACC initially developed 1970 by Stephen C. Johnson (AT\&T Corporation) for Unix + - **L**ook-**A**head **L**eft to right **R**ightmost derivation - Parser + ![http://en.wikipedia.org](Assets/Softwaretechnik2-LALR-Parser-1.png) + ![http://en.wikipedia.org](Assets/Softwaretechnik2-LALR-Parser-2.png) + - %![](Assets/Softwaretechnik2-Lexer.png) + + + \subsubsection{Long Living Systems} + How to build long living system in the first place? + - Very broad/extensive requirements engineering phase + - Capture (the needed) Variabilities, (e. g.: Future Workshop) + - Product Lines + - Clear and Understood SW(/HW)-Architecture + - Remove the smells (periodically) , -> Reviews, Refactoring + - Standard Architectures, Design Patterns, COTS + - Prepare all documents and the development environment for "newcomers" and "strangers" + - Good Estimation of ... + - ... the efforts over time + - ... the efforts for changes + - ... the limits of the architecture + - ... the expected SW END OF LIFE + reengineering costs + - ... never touch a running system + + Key Attributes of Long Living Systems + 1. Keep your system focussed on what it is(was) supposed to do. + 2. Take your time to design your APIs with pride and keep them stable. (-> if at all, only extensions are feasible!) + 3. Design the core architecture with well defined extension mechanisms to tailor the application to user needs. (-> Plug-Ins, DSL, DLLs) + 4. Take maintenance serious , in terms of the needed/planned effort and the trageted/desired quality. + + +\end{multicols} +\end{document} \ No newline at end of file