TNM082 Agil användbarhetsutveckling för handhållna enheter. Software Engineering. Karljohan Lundin Palmerius
|
|
- Linette Fowler
- 7 years ago
- Views:
Transcription
1 TNM082 Agil användbarhetsutveckling för handhållna enheter Software Engineering Karljohan Lundin Palmerius
2 Software Engineering Not programming => Software system development customer/producer negotiations budget and time constraints quality and feature requirements maintenance and system evolution
3 Software Engineering Processes Roles, activities, artefacts and work-flows Handling Quality, risk, scope, cost, schedule Scope Cost Schedule
4 Software Quality To whom? End user quality Developer/maintainer Interoperability Business value PR Often trade-off
5 The Development Process Guiding principles and constraints for optimizing work and communications for finding faults early Process overview help in finding inconsistencies help in finding redundancies help in finding omissions building a common understanding enabling reproducibility
6 Typiska aktiviteter Kravhantering (requirements) vad är mitt problem? Systemarkitektur (system architecture) vad behövs för att lösa problemet? Modul-design / programdesign (module design / program design) hur ska problemet lösas? Implementation (implementation) lös problemet! Enhetstest / modultest (unit testing / module testing) löstes problemet? Systemtest (system testing) är hela problemet löst? Leverans (delivery) leverera lösningen! Underhåll (maintenance) finns nya problem som behöver lösas?
7 Typical Activities System Architecture Top-down decomposition Module/Program Design Implementation Unit Testing Testing Integration Testing System Testing Acceptance Testing
8 Software Engineering in Scrum Sprint Planning Sprint Planning What to do How to do it Daily Work Scrum Task Work Sprint Review Retrospective Story Task Task Task
9 Software Engineering in Scrum Sprint Planning Sprint Planning What to do Architecture requirements How to do it Architecture refactoring Sprint Review Retrospective Story Module design Refactoring Execution test impl. Feature implementation Code review Unit test System test Acceptance test
10 Quality Aspects Many quality aspects and goals Modifiability Performance Security Reliability Robustness Usability Often trade-off
11 Modifiability Purpose easy to locate, analyse and fix faults easy to add, remove or modify features Means Modularity, interfaces, structure
12 Modularity Separation of concern I/O Database easier to understand and develop easier to maintain, use and reuse easier to locate faults Coupling Image Processor Audio Processor dependencies between modules references made, data passed, control applied uncoupled, loosely coupled, tightly coupled GUI Controller Cohesion dependencies inside a module does what it is supposed to do, no more and no less
13 Interfaces The connector to other modules keep it stable to avoid change propagation interface based on what not how avoid optimization through interfaces Specification purpose what is the interface (function) for preconditions assumptions, states, global resources, etc. protocols how is the interface used postconditions visible effects or changes quality attributes performance, reliability, etc. Database Image Processor Audio Processor
14 Security Resiliency recover quickly from attack segment functionality to minimize effect use strategies for quick functionality restoration Immunity not affected by attacks include security by design
15 Reliability Types of reliability reliable correct under assumed conditions robust survive invalid inputs or stressful conditions Fault Detection passive fault detection wait for failure active fault detection n-version programming diagnostic transactions Fault Recovery Undo Checkpoint/rollback Backup Degraded service Correct-and-continue
16 Robustness Defensive design mutual suspicion assume faulty input and states check against preconditions planned behaviour for failure
17 Architecture Modelling To better understand the system To provide a blueprint for construction To determine reuse To reason about future changes To analyse dependencies for design optimization To support management decisions and risk handling
18 Architecture Modelling Structural, systematic and systemic level Functional, quality and design requirements Connecting with system's general shape Decomposition of the systems inner workings Modifiability Performance Security Reliability Robustness Usability
19 Design Sources Reference models Other similar systems Experience Design conventions, idioms Design patterns New combinations of known architectures
20 Pipe-and-Filter Principles Standardized data format and filter principles Dynamic or static configuration Properties Module reuse, restructuring and replacement Constraints on data and filter format Source Filter Filter Sink Filter Filter Filter Filter
21 Publish-Subscribe Principles a component publishes data, others subscribe to them Properties extendible and promote module reuse data passing and synchronization may be expensive Component Component Component Component
22 Client-Server Principle Request-reply, potentially also callbacks or open streams Asymmetric relationship, star architecture Properties Centralized control Potential bottleneck and single-point-of-failure (SPOF) Server Client Client Client
23 Three-/Multi-tier System Principle strictly divided responsibilities, communicate-through Properties well known and understood responsibilities GUI Client Client Client Logics Server Data Database
24 Model-View-Controller Principle separation of concerns, directed communication Properties cleaner code, easier to identify faults easy to have multiple views of the one model care must be taken to avoid propagating changes View View View Controller Model
25 Layering Principles hierarchical structure based on abstraction strictly divided responsibilities, communicate-through Properties simplified interface, code reuse, maintainability possible negative performance impact Application Transport Network Physical layer Application Transport Network Physical layer
26 Peer-to-Peer Principles components communicate directly Properties low latency, no bottleneck poor control, hard to synchronize Node Node Node Node Node
27 Module Design Low level design module design, program design class structures, functions, calls, etc. Purpose there will be a design, make it explicit understanding and structuring documentation share the structure with future colleagues Approach top-down, bottom-up, outside-in Agile first approach is in slices, and refactor by bottom-up Image Processor Audio Processor Image Read/Write Audio Read/Write I/O FileIO WebDAV Networking
28 Module Design Most important design principles Modularity / composition Interfaces / information hiding Abstraction Generality
29 Important Aspects Inheritance vs composition Liskov Substitutability Principle Law of Demeter don't talk to strangers Thread safe calls / interfaces
30 The SOLID Principles Mnemonic SOLID S SRP Single Responsibility Principle O OCP Open Closed Principle L LSP Liskov Subsitutability Principle I ISP Interface Segregation Principle D DIP Dependency Inversion Principle
31 Design Modelling Using UML (Unified Modelling Language) Purpose there will be a design, make it explicit understanding and structuring documentation share the structure with future colleagues Process view what should be done activity diagram Logical view structure and interactions class diagram, object diagram, communication diagram, state machine diagram, sequence diagram
32 Class Diagram (Active Object) Client Proxy method1() methodn() dispatch() insert() Scheduler ResultHolder setresult() getresult() MethodRequest can_run() run() Servant method1() methodn() ConcreteRequest1 ConcreteRequestN
33 Sequence Diagram (Active Object) : Client : Proxy : Scheduler : Servant method1() : ResultHolder ResultHolder MethodRequest1 : MethodRequest1 ResultHolder run() setresult() method1() getresult()
34 Implementation Important principles Document first or it wont be done Document what, why, example usage, preconditions, etc Localize error-prone code (e g input/output) KISS keep it simple stupid Write for clarity, simplicity and readability, not for speed Top-down readability, simple flow: decision action Longer, more descriptive identifiers the larger the scope Check preconditions for robustness
35 Testing Purpose not about testing if a program functions as expected (see Works on My Machine Certification Programme ) search for faults successful when a fault is found Fault identification identify and analyse the fault do not immediately fix the fault, find the cause Fault removal/correction only after further analysis we know the cause remove the entire fault, not just the final cause of the failure
36 Types of Faults Consistent Faults Algorithmic faults Computation/precision faults Documentation faults Transient Faults resource limitations timing and coordination Environment Faults hardware or external software malfunction standards or procedure faults
37 Types of Tests Unit test test a unit (class or function) Integration test test a unit against dependences Agile uses continuous integration instead System test function, performance, security, etc. Acceptance test test the full system using customer's requirements
38 Unit Test Examining / code review manual reading with fresh eyes Approaches pair programming partner review walk-through code inspection Execution testing can be automated for regression testing (Formal proofs)
39 Execution Testing Manual or automated test execution Test client executes suites that execute tests Send example input, check for correct output CppUnit, JUnit, etc Client Test Test Suite Suite run() run() Testee method1() methodn() Unit Test Unit Unit Test Test Unit setup() Test execute() setup() cleanup() execute() cleanup()
40 Example Processes Partner code review and system testing Developer Implement function System testing Check in code Developer Review and comment Developer Review and comment (RUP work-flow diagram)
41 Example Processes Test-driven development (TDD) for each Story or Task Implement test Execute test [incorrect test] [working as expected] [good structure] Implementation Refactor (UML2 activity diagram)
42 Example Processes Design and implementation review Implement test [incorrect test] Execute test [working as expected] Re-design Implementation [substandard design] [good design] Design review Code review [substandard code] [good code] (UML2 activity diagram)
43 Example Processes Design and implementation review Implement test [incorrect test] Execute test [working as expected] Re-design Implementation [substandard design] [good design] Design review Code review [substandard code] [good code] (UML2 activity diagram)
44 System Testing Can be extremely elaborate Less elaborate in Agile projects Includes tests specified by Product Owner Thread testing follow protocols to test functionality Test system behaviour under stress (if wanted)
45 Acceptance Testing Benchmark testing test cases prepared by the customer typical conditions for the system Pilot testing install and use the system Alpha testing in house pilot Beta testing customer's pilot Parallel testing install and use in parallel with another or previous system
Karunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
More informationCOSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring 2008. For the 1 st Quiz
COSC 3351 Software Design Recap for the first quiz Spring 2008 For the 1 st Quiz Three large topic areas: UML syntax and diagrams Software architectural styles Object oriented design principles A couple
More informationDecomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
More informationContents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
More informationSoftware testing. Objectives
Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating
More informationChapter 8 Software Testing
Chapter 8 Software Testing Summary 1 Topics covered Development testing Test-driven development Release testing User testing 2 Program testing Testing is intended to show that a program does what it is
More informationEngineering Process Software Qualities Software Architectural Design
Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical
More informationPatterns in Software Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 7 GoV Patterns Architectural Part 1 1 GoV Patterns for Software Architecture According to Buschmann et al.: A pattern for software architecture
More informationAgile Software Development
Agile Software Development Principles, Patterns, and Practices Robert Cecil Martin Alan Apt Series Prentice «: : Hall Pearson Education, Inc. Upper Saddle River, New Jersey 07458 Foreword Preface About
More informationEngineering Design. Software. Theory and Practice. Carlos E. Otero. CRC Press. Taylor & Francis Croup. Taylor St Francis Croup, an Informa business
Software Engineering Design Theory and Practice Carlos E. Otero CRC Press Taylor & Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor St Francis Croup, an Informa business AN
More informationInformation Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340
XIX. Software Architectures Software Architectures UML Packages Client- vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture
More informationGetting Things Done: Practical Web/e-Commerce Application Stress Testing
Getting Things Done: Practical Web/e-Commerce Application Stress Testing Robert Sabourin President Montreal, Canada rsabourin@amibug.com Slide 1 Practical Web/e-Commerce Application Stress Testing Overview:
More informationArchitecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/
Architecture Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Some slides were adapted from L. Osterweil, B. Meyer, and P. Müller material Reda Bendraou LI386-S1
More informationChapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management
Chapter 24 - Quality Management Lecture 1 1 Topics covered Software quality Software standards Reviews and inspections Software measurement and metrics 2 Software quality management Concerned with ensuring
More informationRequirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
More informationA complete software development process of a general report publication service implemented using Web Services
A complete software development process of a general report publication service implemented using Web Services Anders Nilsson & Klas Fahlberg February 1, 2008 Master s Thesis in Computing Science, 2*30
More informationQuestions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
More informationApplying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
More informationMonitoring Infrastructure (MIS) Software Architecture Document. Version 1.1
Monitoring Infrastructure (MIS) Software Architecture Document Version 1.1 Revision History Date Version Description Author 28-9-2004 1.0 Created Peter Fennema 8-10-2004 1.1 Processed review comments Peter
More informationDigital Industries Trailblazer Apprenticeship. Software Developer - Occupational Brief
Digital Industries Trailblazer Apprenticeship Software Developer - Occupational Brief Table of Contents Contents 1 Software Developer Trailblazer Apprenticeship Introduction... 1 2 Software Developer Trailblazer
More informationSOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
More informationBasic Testing Concepts and Terminology
T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts
More informationFoundations for Systems Development
Foundations for Systems Development ASSIGNMENT 1 Read this assignment introduction. Then, read Chapter 1, The Systems Development Environment, on pages 2 25 in your textbook. What Is Systems Analysis and
More informationCase studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design
I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)
More informationCS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
More informationSoftware Engineering
Software Engineering Lecture 06: Design an Overview Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 35 The Design Phase Programming in
More informationSoftware Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng
Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work
More informationAgile Software Engineering Practice to Improve Project Success
Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at
More informationRequirements engineering and quality attributes
Open Learning Universiteit Unit 2 Learning Unit 2 Requirements engineering and quality attributes Contents Introduction............................................... 21 2.1 Important concepts........................................
More informationCHAPTER 1: OPERATING SYSTEM FUNDAMENTALS
CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users
More informationChapter 11: Integrationand System Testing
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11: Integrationand System Testing Integration Testing Strategy The entire system is viewed as a collection of subsystems (sets
More informationDesigning Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
More information(BA122) Software Engineer s Workshop (SEW)
Training for the Business Analyst (BA122) Software Engineer s Workshop (SEW) Duration: 4 days CDUs (Continuing Development Units): 28 Description: A practical workshop covering the role of the Business-Systems
More informationFSW QA Testing Levels Definitions
FSW QA Testing Levels Definitions 1. Overview This document is used to help determine the amount and quality of testing (or its scope) that is planned for or has been performed on a project. This analysis
More informationNetwork Monitoring. Chu-Sing Yang. Department of Electrical Engineering National Cheng Kung University
Network Monitoring Chu-Sing Yang Department of Electrical Engineering National Cheng Kung University Outline Introduction Network monitoring architecture Performance monitoring Fault monitoring Accounting
More informationChapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
More informationCS 451 Software Engineering Winter 2009
CS 451 Software Engineering Winter 2009 Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Testing Process Testing Testing only reveals the presence of defects Does not identify
More informationSoftware Engineering I: Software Technology WS 2008/09. Integration Testing and System Testing
Software Engineering I: Software Technology WS 2008/09 Integration Testing and System Testing Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Overview Integration testing
More informationSoftware Engineering UNIT -1 OVERVIEW
UNIT -1 OVERVIEW The economies of ALL developed nations are dependent on software. More and more systems are software controlled. Software engineering is concerned with theories, methods and tools for
More informationA Survey Study on Monitoring Service for Grid
A Survey Study on Monitoring Service for Grid Erkang You erkyou@indiana.edu ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Object Oriented Principles
Ingegneria del Software Corso di Laurea in Informatica per il Management Object Oriented Principles Davide Rossi Dipartimento di Informatica Università di Bologna Design goal The goal of design-related
More informationIntroduction to Embedded Systems. Software Update Problem
Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t
More informationProcess Diagram Technique for Business Processes Modeling
Process Diagram Technique for Business Processes Modeling Vaclav Repa University of Economics, Prague, Czech Republic ISD2000 Conference, Kristiansand, Norway, August 2000 V.Repa: Process Diagram Technique
More informationLecture 03 (04.11.2013) Quality of the Software Development Process
Systeme hoher Qualität und Sicherheit Universität Bremen, WS 2013/14 Lecture 03 (04.11.2013) Quality of the Software Development Process Christoph Lüth Christian Liguda Your Daily Menu Models of Software
More informationHigh Availability Solutions for the MariaDB and MySQL Database
High Availability Solutions for the MariaDB and MySQL Database 1 Introduction This paper introduces recommendations and some of the solutions used to create an availability or high availability environment
More informationBCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2
BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT March 2013 EXAMINERS REPORT Software Engineering 2 General Comments The pass rate this year was significantly better than
More informationBasic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
More informationChapter 11, Testing, Part 2: Integration and System Testing
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11, Testing, Part 2: Integration and System Testing Overview Integration testing Big bang Bottom up Top down Sandwich System testing
More informationSoftware Life-Cycle Management
Ingo Arnold Department Computer Science University of Basel Theory Software Life-Cycle Management Architecture Styles Overview An Architecture Style expresses a fundamental structural organization schema
More informationHigh-level Design. What is software architecture?
High-level Design Software Architecture What is it? Examples of common architectures Parnas KWIK index example of information hiding Model view controller in high level layered design 1 What is software
More information5053A: Designing a Messaging Infrastructure Using Microsoft Exchange Server 2007
5053A: Designing a Messaging Infrastructure Using Microsoft Exchange Server 2007 Course Number: 5053A Course Length: 3 Days Course Overview This three-day instructor-led course provides students with the
More informationSoftware Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
More informationHow To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
More informationA standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist Macnair@us.ibm.com Copyright IBM Corporation 2005. All rights
More informationBusiness white paper. environments. The top 5 challenges and solutions for backup and recovery
Business white paper Protecting missioncritical application environments The top 5 challenges and solutions for backup and recovery Table of contents 3 Executive summary 3 Key facts about mission-critical
More informationSOFTWARE TESTING. A Craftsmcm's Approach THIRD EDITION. Paul C. Jorgensen. Auerbach Publications. Taylor &. Francis Croup. Boca Raton New York
SOFTWARE TESTING A Craftsmcm's Approach THIRD EDITION Paul C. Jorgensen A Auerbach Publications Taylor &. Francis Croup Boca Raton New York Auerbach Publications is an imprint of the Taylor & Francis Group,
More informationIntroduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
More informationClassical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
More informationChapter 11: Integration- and System Testing
Chapter 11: Integration- and System Testing Chapter 14: Testing (2/2) Object-Oriented Software Construction Armin B. Cremers, Sascha Alda & Tobias Rho (based on Bruegge & Dutoit) Software Lifecycle Activities...and
More informationSOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
More informationIT3205: Fundamentals of Software Engineering (Compulsory)
INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design
More informationCHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
More informationChap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
More informationTÓPICOS AVANÇADOS EM REDES ADVANCED TOPICS IN NETWORKS
Mestrado em Engenharia de Redes de Comunicações TÓPICOS AVANÇADOS EM REDES ADVANCED TOPICS IN NETWORKS 2009-2010 Projecto de Rede / Sistema - Network / System Design 1 Hierarchical Network Design 2 Hierarchical
More informationSoftware Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
More informationService-Oriented Architectures
Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems
More informationArchitectural Patterns. Layers: Pattern. Architectural Pattern Examples. Layer 3. Component 3.1. Layer 2. Component 2.1 Component 2.2.
Architectural Patterns Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm
More informationThe Best Software Testing Arie Van Deursen TU Delft, 2011
Favorite Picks in Software Testing Arie van Deursen TU Delft @avandeursen Kickoff presentation Test Week Stabiplan, 2011 1 Outline 1. Background 2. Test Strategies 3. Test Week Objectives 4. Selected Strategies
More informationOutline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References
Outline Computer Science 331 Introduction to Testing of Programs Mike Jacobson Department of Computer Science University of Calgary Lecture #3-4 1 Denitions 2 3 4 Implementation and Evaluation 5 Debugging
More informationWeb Application Architectures
Web Engineering Web Application Architectures Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements Engineering
More informationService Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
More informationCOMMVAULT SIMPANA 10 SOFTWARE MULTI-TENANCY FEATURES FOR SERVICE PROVIDERS
COMMVAULT SIMPANA 10 SOFTWARE MULTI-TENANCY FEATURES FOR SERVICE PROVIDERS As cloud adoption continues to rise, so has the demand from Service Providers for software products that support their multi-tenant
More informationOperating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
More informationComparison of the High Availability and Grid Options
Comparison of the High Availability and Grid Options 2008 Informatica Corporation Overview This article compares the following PowerCenter options: High availability option. When you configure high availability
More informationSoftware Architecture
Software Architecture Definitions http://www.sei.cmu.edu/architecture/published_definiti ons.html ANSI/IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software- Intensive Systems
More informationTo introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More informationSoMA. Automated testing system of camera algorithms. Sofica Ltd
SoMA Automated testing system of camera algorithms Sofica Ltd February 2012 2 Table of Contents Automated Testing for Camera Algorithms 3 Camera Algorithms 3 Automated Test 4 Testing 6 API Testing 6 Functional
More informationFive Essential Components for Highly Reliable Data Centers
GE Intelligent Platforms Five Essential Components for Highly Reliable Data Centers Ensuring continuous operations with an integrated, holistic technology strategy that provides high availability, increased
More informationemontage: An Architecture for Rapid Integration of Situational Awareness Data at the Edge
emontage: An Architecture for Rapid Integration of Situational Awareness Data at the Edge Soumya Simanta Gene Cahill Ed Morris Motivation Situational Awareness First responders and others operating in
More informationA UML Introduction Tutorial
A UML Introduction Tutorial 1/27/08 9:55 PM A UML Introduction Tutorial In this tutorial you will learn about the fundamentals of object oriented modelling, the Unified Modelling Language and the software
More informationData Modeling Basics
Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy
More informationMulti-view Architecting
by Gerrit Muller, JürgenMüller, Jan Gerben Wijnstra College, Philips Research e-mail: gaudisite@gmail.com www.gaudisite.nl Buskerud University Abstract The development of large SW-intensive products needs
More informationImproved metrics collection and correlation for the CERN cloud storage test framework
Improved metrics collection and correlation for the CERN cloud storage test framework September 2013 Author: Carolina Lindqvist Supervisors: Maitane Zotes Seppo Heikkila CERN openlab Summer Student Report
More informationUse Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011
Use Cases Massimo Felici Use Cases 1 Support requirements engineering activities and the requirement process Capture what a system is supposed to do, i.e., systems functional requirements Describe sequences
More informationMEng, BSc Computer Science with Artificial Intelligence
School of Computing FACULTY OF ENGINEERING MEng, BSc Computer Science with Artificial Intelligence Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give
More informationBCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2
BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 EXAMINERS REPORT Friday 2 nd October 2015 Answer any THREE
More informationTÓPICOS AVANÇADOS EM REDES ADVANCED TOPICS IN NETWORKS
Mestrado em Engenharia de Redes de Comunicações TÓPICOS AVANÇADOS EM REDES ADVANCED TOPICS IN NETWORKS 2008-2009 Exemplos de Projecto - Network Design Examples 1 Hierarchical Network Design 2 Hierarchical
More informationIT Architecture Review. ISACA Conference Fall 2003
IT Architecture Review ISACA Conference Fall 2003 Table of Contents Introduction Business Drivers Overview of Tiered Architecture IT Architecture Review Why review IT architecture How to conduct IT architecture
More informationTesting of safety-critical software some principles
1(60) Testing of safety-critical software some principles Emerging Trends in Software Testing: autumn 2012 Matti Vuori, Tampere University of Technology 27.11.2012 Contents 1/4 Topics of this lecture 6
More informationMEng, BSc Applied Computer Science
School of Computing FACULTY OF ENGINEERING MEng, BSc Applied Computer Science Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give a machine instructions
More informationCS330 Design Patterns - Midterm 1 - Fall 2015
Name: Please read all instructions carefully. The exam is closed book & no laptops / phones / computers shall be present nor be used. Please write your answers in the space provided. You may use the backs
More informationService Oriented Architecture
Service Oriented Architecture Version 9 2 SOA-2 Overview Ok, now we understand the Web Service technology, but how about Service Oriented Architectures? A guiding analogy Terminology excursion Service,
More informationOnline Transaction Processing in SQL Server 2008
Online Transaction Processing in SQL Server 2008 White Paper Published: August 2007 Updated: July 2008 Summary: Microsoft SQL Server 2008 provides a database platform that is optimized for today s applications,
More informationObject oriented design process
Unit IV Design Object oriented design process 1.Apply design axioms to design classes 1.1 Refine and complete the static UML class diagram 1.2 Iterate and refine again 2. Design the access layer 2.1 create
More informationAgile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
More informationHigh Availability Design Patterns
High Availability Design Patterns Kanwardeep Singh Ahluwalia 81-A, Punjabi Bagh, Patiala 147001 India kanwardeep@gmail.com +91 98110 16337 Atul Jain 135, Rishabh Vihar Delhi 110092 India jain.atul@wipro.com
More informationSoftware Engineering. So(ware Evolu1on
Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers
More informationTesting a SOA Application
Srikanth Inaganti and Sriram Aravamudan Abstract Conventional software testing methodologies often do not provide an efficient and accurate test plan for SOA. Since SOA is a loosely coupled, distributed
More informationCloud Based Application Architectures using Smart Computing
Cloud Based Application Architectures using Smart Computing How to Use this Guide Joyent Smart Technology represents a sophisticated evolution in cloud computing infrastructure. Most cloud computing products
More informationComputer Organization & Architecture Lecture #19
Computer Organization & Architecture Lecture #19 Input/Output The computer system s I/O architecture is its interface to the outside world. This architecture is designed to provide a systematic means of
More information