overview realization of models in programming languages
play

Overview Realization of Models in Programming Languages: Achieving - PowerPoint PPT Presentation

Overview Overview Landscape Landscape From models to programming languages From models to programming languages Summary Summary Overview Realization of Models in Programming Languages: Achieving Non-Functional Properties Software life


  1. Overview Overview Landscape Landscape From models to programming languages From models to programming languages Summary Summary Overview Realization of Models in Programming Languages: Achieving Non-Functional Properties Software life cycle Derived from the Models Title of this lecture Requirements: Functional and non-functional (NFR) Realization of models Silvia Lizeth Tapia Tarifa From design to operation: in programming languages: Models, systems, modeling languages & Achieving programming languages Precise Modeling and Analysis Group non-functional properties From models to programming languages: Department of Informatics derived from the models Example using a representative concrete approach Faculty of Mathematics and Natural Sciences University of Oslo Summary sltarifa@ifi.uio.no 07.05.2014 S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 1/41 S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 2/41 Overview Overview Software life cycle Software life cycle Landscape Landscape Requirements Requirements From models to programming languages From models to programming languages From design to operation From design to operation Summary Summary Overview Software Life Cycle Software life cycle typically includes the following phases: Software life cycle Requirements Requirements: Functional and non-functional (NFR) Design From design to operation: Implementation Models, systems, modeling languages & programming languages Software life cycle From models to programming languages: Verification/Validation/Test Example using a representative concrete approach Delivery/Deployment Summary Operation & Maintenance These phases may overlap or be performed iteratively Iterative development process Source: Software Engineering (7th Edition), Ian Sommerville and ISTQB glossary of testing terms 2.3 S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 3/41 S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 4/41

  2. Overview Overview Software life cycle Software life cycle Landscape Landscape Requirements Requirements From models to programming languages From models to programming languages From design to operation From design to operation Summary Summary Overview Requirements Functional Requirements Describe what the system should (and should not) do Usually have localized e ff ect ( e.g., they a ff ect only the part part of the Software life cycle software addressing the functionality defined by the requirement. ) Requirements: Functional and non-functional (NFR) Example - consider an online university registration system: From design to operation: Students shall be able to apply for courses Models, systems, modeling languages & programming languages From models to programming languages: Example using a representative concrete approach Non-functional Requirements (NFRs) Summary Describe how the system operates or how the functionality is exhibited Example - from the Online University: Easy to use, rapid user response, no Heartbleed bug Source: Software Engineering (7th Edition), Ian Sommerville S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 5/41 S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 6/41 Overview Overview Software life cycle Software life cycle Landscape Landscape Requirements Requirements From models to programming languages From models to programming languages From design to operation From design to operation Summary Summary More on Non-Functional Requirements (NFRs) More on Non-Functional Requirements (NFRs) User and system NFRs: Classification: User NFRs: typically stated in natural language by the clients of a Product requirement: product behavior ( e.g., performance, usability ) software application ( e.g., easy to use ) System NFRs: typically more detail and precise, it may be part of a Organizational requirements: policies and procedures ( e.g., standards ) contract between developers and clients ( e.g., max. training time p.p. is 5h ) External requirements: external factors ( e.g., interoperability, security ) Some characteristics of NFRs: They are often global and often critical ( e.g., aircraft systems ) Whenever possible: quantify NFRs User NFRs are usually abstract and informally stated (e.g., performance by means of response time and throughput) , ( e.g., rapid user response ). Example: User NFR: Rapid user response, They might conflict with each other System NFR: Average response time, maximum response time ( e.g., high performance and low budget ) Sometimes it is not obvious how to quantify them They might be di ffi cult to validate even after deployment ( e.g., maintainability ) ( e.g., maintainability ) They are complex to deal with, etc. S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 7/41 S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 8/41

  3. Overview Overview Software life cycle Software life cycle Landscape Landscape Requirements Requirements From models to programming languages From models to programming languages From design to operation From design to operation Summary Summary Predicting Quantifiable Non-Functional Properties (NFPs) Dealing with Non-Functional Requirements Requirement: A thing that is needed or wanted Property: An attribute, quality, or characteristic of something. Observe NFP } C Product Oriented Approach o s t Acquire domain-specific Focus on evaluating the final application t o information for predicting NFP to determine whether it satisfy the NFRs 16x Model Declare NFP R User NFR: e Most common used approach p Rapid user response “Measurement and modeling are a i 8x May require redesign r intimately linked because accurate System NFR: 4x measurement provides the parameter Performance : 2x 1x - Response time data which models need in order to - Average: 4 Requiremenet Design Implement Test After release Process Oriented Approach - Maximum: 8 make valuable predictions” Cost to repair: multiplicative increases in cost. System Integrates NFRs into the software Source: Non-functional properties in the Sources: model-driven development of service-oriented development process systems, Gilmore et al. Quantifying Non-Functional Requirements: A Support for languages, methodologies Process Oriented Approach, Hill et al. and tools is currently on-going research Example: for performance: A Framework for Building Non-Functional Software Architectures, Rosa et al. Where will this application be utilized? Foundation of Software Testing (3rd edition), What are the performance features of this environment?, etc Black et al. S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 9/41 S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 10/41 Overview Overview Software life cycle Software life cycle Landscape Landscape Requirements Requirements From models to programming languages From models to programming languages From design to operation From design to operation Summary Summary Overview From Design to Operation: Models and Systems ... Modeling languages Software life cycle Design Model Example: UML phase Requirements: Functional and non-functional (NFR) From design to operation: Process oriented approach Models, Systems, Modeling languages & Programming languages From models to programming languages: Example using a representative concrete approach ... Summary Programming languages System Example: Java S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 11/41 S. Lizeth Tapia Tarifa Realization of Models in Programming Languages 12/41

Recommend


More recommend