Ingegneria del Software. 1: Concetti di base. Rif.: Ghezzi et.al., Ingegneria del software, II Ed.,Prentice Hall - Capitoli
|
|
- Jade Clarke
- 6 years ago
- Views:
Transcription
1 Ingegneria del Software 1: Concetti di base Rif.: Ghezzi et.al., Ingegneria del software, II Ed.,Prentice Hall - Capitoli
2 Organizzazione del corso Docente Prof. A. Calvagna Esame Prove scritte in itinere e a fine corso Prova scritta+orale (tutti gli altri appelli) Comunicazioni Sito web: Date appelli, libri, slides, avvisi, ecc.
3 Argomenti del corso 1 concetti di base 2 ooad in UML 3 design architetturale 4 middleware prova in itinere 5 specifica dei requisiti 6 validazione e verifica 7 processi di sviluppo 8 qualita e gestione esame finale
4 What happens?
5 Warrantees? LIMITED WARRANTY. Microsoft warrants that (a) the SOFTWARE PRODUCT will perform substantially in accordance with the accompanying written materials for a period of ninety (90) days from the date of receipt, LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MICROSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, ) ARISING OUT OF THE USE OF THE SOFTWARE PRODUCT MICROSOFT S ENTIRE LIABILITY SHALL BE LIMITED TO THE GREATER OF THE AMOUNT ACTUALLY PAID BY YOU FOR THE SOFTWARE PRODUCT OR U.S. $5.00; PROVIDED...
6 USS Yorktown After a crew member mistakenly entered a zero into the data field of an application, the computer system proceeded to divide another quantity by that zero. The operation caused a buffer overflow, in which data leaked from a temporary storage space in memory, and the error eventually brought down the ship's propulsion system. The result: the Yorktown was dead in the water for more than two hours.
7 Better, Faster, Cheaper In Sept. 99, NASA lost both the Mars Polar Lander and the Climate Orbiter. Later investigations determined software errors were to blame. Orbiter: Component reuse error. Lander: Precondition violation.
8 Space Shuttle Software Cost: $10 Billion, millions of dollars more than planned Time: 3 years late Quality: First launch of Columbia was cancelled because of a synchronization problem with the Shuttle's 5 onboard computers. Error was traced back to a change made 2 years earlier when a programmer changed a delay factor in an interrupt handler from 50 to 80 milliseconds. Substantial errors still exist. Astronauts are supplied with a book of known software problems "Program Notes and Waivers".
9 Arianne 5 40 seconds into its flight it veered off course and exploded. It was later found to be an error in reuse of a software component. On June 4, 1996, the Arianne 5 took off on its maiden flight. For the next two years, virtually every research presentation used this picture.
10 Automotive Analogy If the automobile had followed the same development as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and...
11 Automotive Analogy If the automobile had followed the same development as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year killing everyone inside." - Robert Cringely
12 History The field of software engineering was born in 1968 in response to chronic failures of large software projects to meet schedule and budget constraints Recognition of "the software crisis" Term became popular after NATO Conference in Garmisch Partenkirchen (Germany), 1968
13 Software Engineering: Definition Software Engineering is a collection of techniques, methodologies and tools that help with the production of a high quality software system with a given budget before a given deadline while change occurs. 20
14 Software Engineering Introduction What is Software Engineering (SE)? The process of building a software product. Some questions to put SE in perspective: What are the sizes of some typical software products? How many people would it take to build these in 1 year? 2? What would you do if a bug could cost lives and $2 billion? What would you do if a delay could cost $100 s of millions?
15 Scientist vs Engineer Computer Scientist Proves theorems about algorithms, designs languages, defines knowledge representation schemes Has infinite time Engineer Develops a solution for an application-specific problem for a client Uses computers & languages, tools, techniques and methods Software Engineer Works in multiple application domains Has only 3 months... while changes occurs in requirements and available technology
16 Role of software engineer Programming skill not enough Software engineering involves "programmingin-the large" understand requirements and write specifications derive models and reason about them master software operate at various abstraction levels member of a team communication skills management skills
17 What is a software process? A set of activities whose goal is the development or evolution of software. Generic activities in all software processes are: Specification - what the system should do and its development constraints Development - production of the software system Validation - checking that the software is what the customer wants Evolution - changing the software in response to changing demands.
18 Software Lifecycle Definition Software lifecycle: Set of activities and their relationships to each other to support the development of a software system Typical Lifecycle questions: Which activities should I select for the software project? What are the dependencies between activities? How should I schedule the activities?
19 The software lifecycle (a preview) Requirements analysis and specification Design and specification waterfall model Code and module testing Integration and system testing Delivery and maintenance
20 Software Lifecycle Activities...and their models Requirements Elicitation Analysis System Design Object Design Implementation Testing Expressed in Terms Of Structured By Realized By Implemented By Verified By Use Case Model Application Domain Objects Subsystems Solution Domain Objects class... class... class... Source Code Test Cases? class...?
21 Software Its Nature and Qualities
22 Software product Different from traditional types of products intangible difficult to describe and evaluate malleable human intensive involves only trivial manufacturing process
23 Some Software Characteristics Software is engineered or developed, not manufactured in the traditional sense. Software does not wear out in the same sense as hardware.
24 Some Software Characteristics In theory, software does not wear out at all. BUT, Hardware upgrades. Software upgrades.
25 In reality Thus, reality is more like this. Most software is custom built, and customer never really knows what she/he wants.
26 Software Myths Myth: It s in the software. So, we can easily change it. Reality: Requirements changes are a major cause of software degradation.
27 Software Myths Myth: We can solve schedule problems by adding more programmers. Reality: Maybe. It increases coordination efforts and may slow things down. Myth: While we don t have all requirements in writing yet, we know what we want and can start writing code. Reality: Incomplete up-front definition is the major cause of software project failures.
28 Software Myths Myth: Writing code is the major part of creating a software product. Reality: Coding may be as little as 10% of the effort, and 50-70% may occur after delivery.
29 Software Myths Myth: I can t tell you how well we are doing until I get parts of it running. Reality: Formal reviews of various types both can give good information and are critical to success in large projects. Myth: The only deliverable that matters is working code. Reality: Documentation, test history, and program configuration are critical parts of the delivery.
30 Software Myths Myth: I am a (super) programmer. Let me program it, and I will get it done. Reality: A sign of immaturity. A formula for failure. Software projects are done by teams, not individuals, and success requires much more than just coding.
31 Classification of sw qualities "ilities" Internal vs. external External visible to users Internal concern developers Product vs. process Our goal is to develop software products The process is how we do it Internal qualities affect external qualities Process quality affects product quality
32 Correctness Software is correct if it satisfies the functional requirements specifications assuming that specification exists! If specifications are formal, since programs are formal objects, correctness can be defined formally It can be proven as a theorem or disproved by counterexamples (testing)
33 The limits of correctness It is an absolute (yes/no) quality there is no concept of degree of correctness there is no concept of severity of deviation What if specifications are wrong? (e.g., they derive from incorrect requirements or errors in domain knowledge)
34 Reliability Reliability informally, user can rely on it can be defined mathematically as probability of absence of failures for a certain time period if specs are correct, all correct software is reliable, but not vice-versa (in practice, however, specs can be incorrect )
35 Idealized situation Requirements are correct Reliability Correctness
36 Robustness Robustness software behaves reasonably even in unforeseen circumstances (e.g., incorrect input, hardware failure)
37 Performance Efficient use of resources memory, processing time, communication Can be verified complexity analysis performance evaluation (on a model, via simulation) Performance can affect scalability a solution that works on a small local network may not work on a large intranet
38 Usability Expected users find the system easy to use Other term: user-friendliness Rather subjective, difficult to evaluate Affected mostly by user interface e.g., visual vs. textual
39 Verifiability How easy it is to verify properties mostly an internal quality can be external as well (e.g., security critical application)
40 Maintainability Maintainability: ease of maintenance Maintenance: changes after release Maintenance costs exceed 60% of total cost of software Three main categories of maintenance corrective: removing residual errors (20%) adaptive: adjusting to environment changes (20%) perfective: quality improvements (>50%)
41 Types of Software Maintenance Corrective maintenance Fixing defects ( bugs ) I.e. correcting design flaws Perfective maintenance Improving the product ( enhancements ) Because of new requirements Or misunderstood requirement Because of new technological opportunities E.g. increased distribution of a centralized IS onto client-server architecture Adaptive maintenance Reflecting changes in the environment Changes to tax laws, changes to ways of working, etc. Or unanticipated changes
42 Cost of SE phases
43 Reusability A good software design solves a specific problem but is general enough to address future problems (for example, changing requirements) Experts do not solve every problem from first principles They reuse solutions that have worked for them in the past Goal for the software engineer: Design the software to be reusable across application domains and designs How? Use design patterns and frameworks whenever possible
44 Reusability Existing product (or components) used (with minor modifications) to build another product (Similar to evolvability) Also applies to process Reuse of standard parts measure of maturity of the field
45 Portability Software can run on different hw platforms or sw environments Remains relevant as new platforms and environments are introduced (e.g. digital assistants) Relevant when downloading software in a heterogeneous network environment
46 Understandability Ease of understanding software Program modification requires program understanding
47 Interoperability Ability of a system to coexist and cooperate with other systems e.g., word processor and spreadsheet
48 Typical process qualities Productivity denotes its efficiency and performance Timeliness ability to deliver a product on time Visibility all of its steps and current status are documented clearly
49 Timeliness: issues Often the development process does not follow the evolution of user requirements A mismatch occurs between user requirements and status of the product
50 Timeliness: a visual description of the mismatch Function User needs Actual system capabilities t t t t t Time
51 Application-specific qualities E.g., information systems Data integrity Security Data availability Transaction performance.
52 Quality measurement Many qualities are subjective No standard metrics defined for most qualities
53 Factors affecting the quality of a software system Complexity: The system is so complex that no single programmer can understand it anymore The introduction of one bug fix causes another bug Change: The Entropy of a software system increases with each change: Each implemented change erodes the structure of the system which makes the next change even more expensive ( Second Law of Software Dynamics ). As time goes on, the cost to implement a change will be too high, and the system will then be unable to support its intended task. This is true of all systems, independent of their application domain or technological base.
54 Quality of today s software. The average software product released on the market is not error free.
55 has major impact on Users
56 Software Engineering Principles
57 Outline Principles form the basis of methods, techniques, methodologies and tools Seven important principles that may be used in all phases of software development Modularity is the cornerstone principle supporting software design Case studies
58 Application of principles Principles apply to process and product Principles become practice through methods and techniques often methods and techniques are packaged in a methodology methodologies can be enforced by tools
59 A visual representation Tools Methodologies Methodologies Methods and techniques Principles
60 Key principles Rigor and formality Separation of concerns Modularity Abstraction Anticipation of change Generality Incrementality
61 Rigor and formality Software engineering is a creative design activity, BUT It must be practiced systematically Rigor is a necessary complement to creativity that increases our confidence in our developments Formality is rigor at the highest degree software process driven and evaluated by mathematical laws
62 Examples: product Mathematical (formal) analysis of program correctness Systematic (rigorous) test data derivation
63 Example: process Rigorous documentation of development steps helps project management and assessment of timeliness
64 Separation of concerns To dominate complexity, separate the issues to concentrate on one at a time "Divide & conquer" (divide et impera) Supports parallelization of efforts and separation of responsibilities
65 Example: process Go through phases one after the other (as in waterfall) Does separation of concerns by separating activities with respect to time
66 Example: product Keep product requirements separate functionality performance user interface and usability
67 Modularity A complex system may be divided into simpler pieces called modules A system that is composed of modules is called modular Supports application of separation of concerns when dealing with a module we can ignore details of other modules
68 Cohesion and coupling Each module should be highly cohesive module understandable as a meaningful unit Components of a module are closely related to one another Modules should exhibit low coupling modules have low interactions with others understandable separately
69 A visual representation (a) high coupling (b) low coupling
70 Abstraction Identify the important aspects of a phenomenon and ignore its details Special case of separation of concerns The type of abstraction to apply depends on purpose Example : the user interface of a watch (its buttons) abstracts from the watch's internals for the purpose of setting time; other abstractions needed to support repair
71 What is this?
72 Abstraction ignores details Example: equations describing complex circuit (e.g., amplifier) allows designer to reason about signal amplification Equations may approximate description, ignoring details that yield negligible effects (e.g., connectors assumed to be ideal)
73 Abstraction yields models For example, when requirements are analyzed we produce a model of the proposed application The model can be a formal or semiformal description It is then possible to reason about the system by reasoning about the model
74 An example Programming language semantics described through an abstract machine that ignores details of the real machines used for implementation abstraction ignores details such as precision of number representation or addressing mechanisms
75 Abstraction in process When we do cost estimation we only take some key factors into account We apply similarity with previous systems, ignoring detail differences
76 Anticipation of change Ability to support software evolution requires anticipating potential future changes It is the basis for software evolvability Example: set up a configuration management environment for the project (as we will discuss)
77 Generality While solving a problem, try to discover if it is an instance of a more general problem whose solution can be reused in other cases Carefully balance generality against performance and cost
78 Incrementality Process proceeds in a stepwise fashion (increments) Examples (process) deliver subsets of a system early to get early feedback from expected users, then add new features incrementally deal first with functionality, then turn to performance deliver a first prototype and then incrementally add effort to turn prototype into product
79 Case study: compiler Compiler construction is an area where systematic (formal) design methods have been developed e.g., BNF for formal description of language syntax
80 Separation of concerns example When designing optimal register allocation algorithms (runtime efficiency) no need to worry about runtime diagnostic messages (user friendliness)
81 Modularity Compilation process decomposed into phases Lexical analysis Syntax analysis (parsing) Code generation Phases can be associated with modules
82 Representation of modular structure Lexical diagnostic s Symbol table Source code Lexical analysis Parsing Code generation Object code Parse tree Tokenized code boxes represent modules directed lines represent interfaces Syntax diagnostics
83 Module decomposition may be iterated further modularization of code-generation module Symbol table Code genration Intermediate code Object code Parse tree Intermediate code generation Machine code generation
84 Abstraction Applied in many cases abstract syntax to neglect syntactic details such as begin end vs. { } to bracket statement sequences intermediate machine code (e.g., Java Bytecode) for code portability
85 Anticipation of change Consider possible changes of source language (due to standardization committees) target processor I/O devices
86 Generality Parameterize with respect to target machine (by defining intermediate code) Develop compiler generating tools (compiler compilers) instead of just one compiler
87 Incrementality Incremental development deliver first a kernel version for a subset of the source language, then increasingly larger subsets deliver compiler with little or no diagnostics/optimizations, then add diagnostics/optimizations
88 Case study (system engineering): elevator system In many cases, the "software engineering" phase starts after understanding and analyzing the "systems engineering issues The elevator case study illustrates the point
89 Rigor&formality (1) Quite relevant: it is a safety critical system Define requirements must be able to carry up to 400 Kg. (safety alarm and no operation if overloaded) emergency brakes must be able to stop elevator within 1 m. and 2 sec. in case of cable failures Later, verify their fulfillment
90 Separation of concerns Try to separate safety performance usability (e.g, button illumination) cost although some are strongly related cost reduction by using cheap material can make solution unsafe
91 A modular structure Control apparatus buttons at floor i Elevator B3 B2 B1
92 Module decomposition may be iterated Control apparatus Elevator Engine Brakes Cabin Internal Buttons
93 Abstraction The modular view we provided does not specify the behavior of the mechanical and electrical components they are abstracted away
94 Anticipation of change, generality Make the project parametric wrt the number of elevators (and floor buttons) Control apparatus Elevators Floor buttons
95 Summary Need for engineered software Software product has a lifecycle Software product nature and -ilities Software systems are complex and subject to continuous changes Apply key SE principles to improve quality
UNIT-III LIFE-CYCLE PHASES
INTRODUCTION: UNIT-III LIFE-CYCLE PHASES - If there is a well defined separation between research and development activities and production activities then the software is said to be in successful development
More informationService-Oriented Software Engineering - SOSE (Academic Year 2015/2016)
Service-Oriented Software Engineering - SOSE (Academic Year 2015/2016) Teacher: Prof. Andrea D Ambrogio Objectives: provide methods and techniques to regard software production as the result of an engineering
More informationRequirements Gathering using Object- Oriented Models
Requirements Gathering using Object- Oriented Models Cycle de vie d un logiciel Software Life Cycle The "software lifecycle" refers to all stages of software development from design to disappearance. The
More informationComputer Science: Who Cares? Computer Science: It Matters. Computer Science: Disciplines
Computer Science: Who Cares? Computer Graphics (1970 s): One department, at one university Several faculty, a few more students $5,000,000 grant from ARPA Original slides by Chris Wilcox, Edited and extended
More informationCourse Introduction and Overview of Software Engineering. Richard N. Taylor Informatics 211 Fall 2007
Course Introduction and Overview of Software Engineering Richard N. Taylor Informatics 211 Fall 2007 Software Engineering A discipline that deals with the building of software systems which are so large
More informationBy the end of this chapter, you should: Understand what is meant by engineering design. Understand the phases of the engineering design process.
By the end of this chapter, you should: Understand what is meant by engineering design. Understand the phases of the engineering design process. Be familiar with the attributes of successful engineers.
More informationUNIT VIII SYSTEM METHODOLOGY 2014
SYSTEM METHODOLOGY: UNIT VIII SYSTEM METHODOLOGY 2014 The need for a Systems Methodology was perceived in the second half of the 20th Century, to show how and why systems engineering worked and was so
More informationRequirements Analysis aka Requirements Engineering. Requirements Elicitation Process
C870, Advanced Software Engineering, Requirements Analysis aka Requirements Engineering Defining the WHAT Requirements Elicitation Process Client Us System SRS 1 C870, Advanced Software Engineering, Requirements
More informationObjectives. Designing, implementing, deploying and operating systems which include hardware, software and people
Chapter 2. Computer-based Systems Engineering Designing, implementing, deploying and operating s which include hardware, software and people Slide 1 Objectives To explain why software is affected by broader
More informationThe Evolution Tree: A Maintenance-Oriented Software Development Model
The Evolution Tree: A Maintenance-Oriented Software Development Model Amir Tomer The Technion Israel Institute of Technology, Haifa, Israel Stephen R. Schach Vanderbilt University, Nashville, Tennessee,
More informationObject-oriented Analysis and Design
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Understanding the Client s environment and needs. Analysis Identifying the concepts (classes) in the problem domain
More informationSystems Engineering Overview. Axel Claudio Alex Gonzalez
Systems Engineering Overview Axel Claudio Alex Gonzalez Objectives Provide additional insights into Systems and into Systems Engineering Walkthrough the different phases of the product lifecycle Discuss
More informationTowards an MDA-based development methodology 1
Towards an MDA-based development methodology 1 Anastasius Gavras 1, Mariano Belaunde 2, Luís Ferreira Pires 3, João Paulo A. Almeida 3 1 Eurescom GmbH, 2 France Télécom R&D, 3 University of Twente 1 gavras@eurescom.de,
More informationCHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN
CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN SESSION II: OVERVIEW OF SOFTWARE ENGINEERING DESIGN Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012 by Carlos
More informationIS 525 Chapter 2. Methodology Dr. Nesrine Zemirli
IS 525 Chapter 2 Methodology Dr. Nesrine Zemirli Assistant Professor. IS Department CCIS / King Saud University E-mail: Web: http://fac.ksu.edu.sa/nzemirli/home Chapter Topics Fundamental concepts and
More informationIntroduction to Systems Engineering
p. 1/2 ENES 489P Hands-On Systems Engineering Projects Introduction to Systems Engineering Mark Austin E-mail: austin@isr.umd.edu Institute for Systems Research, University of Maryland, College Park Career
More informationNo Silver Bullet. CSCI 5828: Foundations of Software Engineering Lecture 02 08/27/2015
No Silver Bullet CSCI 5828: Foundations of Software Engineering Lecture 02 08/27/2015 1 Getting my Act Together Two Announcements First: in Lecture 1, I had a slide that announced my office hours as Fridays
More informationComponent Based Mechatronics Modelling Methodology
Component Based Mechatronics Modelling Methodology R.Sell, M.Tamre Department of Mechatronics, Tallinn Technical University, Tallinn, Estonia ABSTRACT There is long history of developing modelling systems
More informationCSE 435: Software Engineering
CSE 435: Software Engineering Dr. James Daly 3501 Engineering Building Office: 3501 EB, by appointment dalyjame at msu dot edu TAs: Vincent Ragusa and Mohammad Roohitavaf Helproom Tuesday: 2-4 pm, Wednesday
More informationModule Role of Software in Complex Systems
Module Role of Software in Complex Systems Frogs vei 41 P.O. Box 235, NO-3603 Kongsberg Norway gaudisite@gmail.com Abstract This module addresses the role of software in complex systems Distribution This
More information(Refer Slide Time: 3:11)
Digital Communication. Professor Surendra Prasad. Department of Electrical Engineering. Indian Institute of Technology, Delhi. Lecture-2. Digital Representation of Analog Signals: Delta Modulation. Professor:
More informationDesign and Operation of Micro-Gravity Dynamics and Controls Laboratories
Design and Operation of Micro-Gravity Dynamics and Controls Laboratories Georgia Institute of Technology Space Systems Engineering Conference Atlanta, GA GT-SSEC.F.4 Alvar Saenz-Otero David W. Miller MIT
More informationSystems Engineering Presented at Stevens New Jersey Community College Strategic Partnership 27 th September, 2005
Systems Engineering Presented at Stevens New Jersey Community College Strategic Partnership 27 th September, 2005 Dr. Rashmi Jain Associate Professor Systems Engineering and Engineering Management 2005
More informationSoftware Testing Introduction
Software Testing Introduction CS 4501 / 6501 Software Testing [Ammann and Offutt, Introduction to Software Testing ] 1 Software is Everywhere 2 Bug? Bug as such little faults and difficulties are called
More informationStrategic Considerations when Introducing Model Based Systems Engineering
Copyright 2015 by Christoph Bräuchle, Manfred Broy, Dominik Rüchardt. Permission granted to INCOSE to publish and use Strategic Considerations when Introducing Model Based Systems Engineering Christoph
More informationTechnical-oriented talk about the principles and benefits of the ASSUMEits approach and tooling
PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE ASSUME CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR COMMUNICATED
More informationM&S Requirements and VV&A: What s the Relationship?
M&S Requirements and VV&A: What s the Relationship? Dr. James Elele - NAVAIR David Hall, Mark Davis, David Turner, Allie Farid, Dr. John Madry SURVICE Engineering Outline Verification, Validation and Accreditation
More informationSoftware Engineering
Introduction to Software Engineering and the Software Lifecycle CS401 Software Engineering Theories and practices used to construct high-quality large-scale software How you may have created many programs:
More information1. Executive Summary. 2. Introduction. Selection of a DC Solar PV Arc Fault Detector
Selection of a DC Solar PV Arc Fault Detector John Kluza Solar Market Strategic Manager, Sensata Technologies jkluza@sensata.com; +1-508-236-1947 1. Executive Summary Arc fault current interruption (AFCI)
More informationComputer Science: Disciplines. What is Software Engineering and why does it matter? Software Disasters
Computer Science: Disciplines What is Software Engineering and why does it matter? Computer Graphics Computer Networking and Security Parallel Computing Database Systems Artificial Intelligence Software
More informationAbout Software Engineering.
About Software Engineering pierre-alain.muller@uha.fr What is Software Engineering? Software Engineering Software development Engineering Let s s have a look at ICSE International Conference on Software
More informationRequirements Gathering using Object- Oriented Models
Requirements Gathering using Object- Oriented Models Quality Assurance introduction What is Quality? Quality is defined as conformance to requirements Quality is not a measure of GOODNESS Phil B. Crosby,
More informationFocusing Software Education on Engineering
Introduction Focusing Software Education on Engineering John C. Knight Department of Computer Science University of Virginia We must decide we want to be engineers not blacksmiths. Peter Amey, Praxis Critical
More informationPervasive Services Engineering for SOAs
Pervasive Services Engineering for SOAs Dhaminda Abeywickrama (supervised by Sita Ramakrishnan) Clayton School of Information Technology, Monash University, Australia dhaminda.abeywickrama@infotech.monash.edu.au
More informationIntroduction to adoption of lean canvas in software test architecture design
Introduction to adoption of lean canvas in software test architecture design Padmaraj Nidagundi 1, Margarita Lukjanska 2 1 Riga Technical University, Kaļķu iela 1, Riga, Latvia. 2 Politecnico di Milano,
More informationNon-Functional Requirements (NFRs) Definitions
Non-Functional Requirements (NFRs) Definitions Quality criteria; metrics Example NFRs Product-oriented Software Qualities Making quality criteria specific Catalogues of NFRs Example: Reliability Process-oriented
More informationSoftware Development Lifecycle
Software Development Lifecycle The Power of Process Outline What is a software development lifecycle? Why do we need a lifecycle process? Lifecycle models and their tradeoffs o Code-and-fix o Waterfall
More informationUnderstand that technology has different levels of maturity and that lower maturity levels come with higher risks.
Technology 1 Agenda Understand that technology has different levels of maturity and that lower maturity levels come with higher risks. Introduce the Technology Readiness Level (TRL) scale used to assess
More informationThe secret behind mechatronics
The secret behind mechatronics Why companies will want to be part of the revolution In the 18th century, steam and mechanization powered the first Industrial Revolution. At the turn of the 20th century,
More informationCOEN7501: Formal Hardware Verification
COEN7501: Formal Hardware Verification Prof. Sofiène Tahar Hardware Verification Group Electrical and Computer Engineering Concordia University Montréal, Quebec CANADA Accident at Carbide plant, India
More informationIntroduction to Software Engineering
Introduction to Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University Email: sk@nontri.ku.ac.th URL: http://www.cpe.ku.ac.th/~sk
More informationResearch on the Integration and Verification of Foundational Software and Hardware
Research on the Integration and Verification of Foundational Software and Hardware Jing Guo, Lingda Wu, Yashuai Lv, Bo Li, and Ronghuan Yu Abstract Following the high-speed development of information technology,
More informationIntroduction (concepts and definitions)
Objectives: Introduction (digital system design concepts and definitions). Advantages and drawbacks of digital techniques compared with analog. Digital Abstraction. Synchronous and Asynchronous Systems.
More informationIndependent Technology Service Inc Independence Ave. Chatsworth, California Toll Free:
Independent Technology Service Inc. 9182 Independence Ave. Chatsworth, California 91311 www.itscnc.com Toll Free: 1.800.342.3475 NEW Brush Amplifiers For Fadal Machines AMP-0006N-ITS AMP-0021N-ITS NEW
More informationDespite the euphonic name, the words in the program title actually do describe what we're trying to do:
I've been told that DASADA is a town in the home state of Mahatma Gandhi. This seems a fitting name for the program, since today's military missions that include both peacekeeping and war fighting. Despite
More informationGypsy Statement of Limited Warranty. Part 1 General Terms
Gypsy Statement of Limited Warranty Part 1 General Terms This Statement of Limited Warranty includes Part 1 General Terms, and Part2 Warranty Information. The warranties provided by PROVO CRAFT AND NOVELTY,
More informationTHE APPLICATION OF SYSTEMS ENGINEERING ON THE BUILDING DESIGN PROCESS
THE APPLICATION OF SYSTEMS ENGINEERING ON THE BUILDING DESIGN PROCESS A.Yahiaoui 1, G. Ulukavak Harputlugil 2, A.E.K Sahraoui 3 & J. Hensen 4 1 & 4 Center for Building & Systems TNO-TU/e, 5600 MB Eindhoven,
More informationINSTALLATION SUGGESTIONS LEVEL APPLICATION LIMITED WARRANTY
INSTALLATION SUGGESTIONS LEVEL APPLICATION LIMITED WARRANTY L.J. Smith, Inc. issues the following Limited Warranty: The product(s) furnished hereunder are warranted to be free from defects in material
More informationINFRASTRUCTURE RISK REDUCTION. Harold Bud Lawson Lawson Konsult AB Lidingö, SWEDEN
INFRASTRUCTURE RISK REDUCTION Harold Bud Lawson Lawson Konsult AB Lidingö, SWEDEN bud@lawson.se What will be addressed? The Problem of Platform Stability Historical Perspective (Or - It did not have to
More informationRapid Development and Test for UKube-1 using Software and Hardware-in-the-Loop Simulation. Peter Mendham and Mark McCrum
Rapid Development and Test for UKube-1 using Software and Hardware-in-the-Loop Simulation Peter Mendham and Mark McCrum UKube-1 United Kingdom Universal Bus Experiment 3U CubeSat Five payloads C3D imager
More informationINTERNATIONAL CONFERENCE ON ENGINEERING DESIGN ICED 05 MELBOURNE, AUGUST 15-18, 2005 AUTOMATIC DESIGN OF A PRESS BRAKE FOR SHEET METAL BENDING
INTERNATIONAL CONFERENCE ON ENGINEERING DESIGN ICED 05 MELBOURNE, AUGUST 15-18, 2005 AUTOMATIC DESIGN OF A PRESS BRAKE FOR SHEET METAL BENDING Giorgio Colombo, Ambrogio Girotti, Edoardo Rovida Keywords:
More informationGrundlagen des Software Engineering Fundamentals of Software Engineering
Software Engineering Research Group: Processes and Measurement Fachbereich Informatik TU Kaiserslautern Grundlagen des Software Engineering Fundamentals of Software Engineering Winter Term 2011/12 Prof.
More informationSoftware Verification and Validation. Prof. Lionel Briand Ph.D., IEEE Fellow
Software Verification and Validation Prof. Lionel Briand Ph.D., IEEE Fellow 1 Lionel s background Worked in industry, academia, and industry-oriented research institutions France, USA, Germany, Canada,
More informationDriving LEDs with a PIC Microcontroller Application Note
Driving LEDs with a PIC Microcontroller Application Note Introduction Nowadays, applications increasingly make use of LEDs as a replacement for traditional light bulbs. For example, LEDs are frequently
More informationSoftware Eng. 2F03: Logic For Software Engineering
Software Eng. 2F03: Logic For Software Engineering Dr. Mark Lawford Dept. of Computing And Software, Faculty of Engineering McMaster University 0-0 Motivation Why study logic? You want to learn some cool
More informationA FRAMEWORK FOR PERFORMING V&V WITHIN REUSE-BASED SOFTWARE ENGINEERING
A FRAMEWORK FOR PERFORMING V&V WITHIN REUSE-BASED SOFTWARE ENGINEERING Edward A. Addy eaddy@wvu.edu NASA/WVU Software Research Laboratory ABSTRACT Verification and validation (V&V) is performed during
More informationThe AMADEOS SysML Profile for Cyber-physical Systems-of-Systems
AMADEOS Architecture for Multi-criticality Agile Dependable Evolutionary Open System-of-Systems FP7-ICT-2013.3.4 - Grant Agreement n 610535 The AMADEOS SysML Profile for Cyber-physical Systems-of-Systems
More informationUM DALI getting started guide. Document information
Rev. 2 6 March 2013 User manual Document information Info Content Keywords LPC111x, LPC1343, ARM, Cortex M0/M3, DALI, USB, lighting control, USB to DALI interface. Abstract This user manual explains how
More informationKNEEWALL APPLICATION
INSTALLATION SUGGESTIONS KNEEWALL APPLICATION LIMITED WARRANTY L.J. Smith, Inc. issues the following Limited Warranty: The product(s) furnished hereunder are warranted to be free from defects in material
More informationModel-Based Systems Engineering Methodologies. J. Bermejo Autonomous Systems Laboratory (ASLab)
Model-Based Systems Engineering Methodologies J. Bermejo Autonomous Systems Laboratory (ASLab) Contents Introduction Methodologies IBM Rational Telelogic Harmony SE (Harmony SE) IBM Rational Unified Process
More informationThe Preliminary Risk Analysis Approach: Merging Space and Aeronautics Methods
The Preliminary Risk Approach: Merging Space and Aeronautics Methods J. Faure, A. Cabarbaye & R. Laulheret CNES, Toulouse,France ABSTRACT: Based on space industry but also on aeronautics methods, we will
More informationFIBER OPTICS. Prof. R.K. Shevgaonkar. Department of Electrical Engineering. Indian Institute of Technology, Bombay. Lecture: 37
FIBER OPTICS Prof. R.K. Shevgaonkar Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture: 37 Introduction to Raman Amplifiers Fiber Optics, Prof. R.K. Shevgaonkar, Dept.
More informationIntroduction to co-simulation. What is HW-SW co-simulation?
Introduction to co-simulation CPSC489-501 Hardware-Software Codesign of Embedded Systems Mahapatra-TexasA&M-Fall 00 1 What is HW-SW co-simulation? A basic definition: Manipulating simulated hardware with
More informationDesigning for recovery New challenges for large-scale, complex IT systems
Designing for recovery New challenges for large-scale, complex IT systems Prof. Ian Sommerville School of Computer Science St Andrews University Scotland St Andrews Small Scottish town, on the north-east
More informationPN7120 NFC Controller SBC Kit User Manual
Document information Info Content Keywords OM5577, PN7120, Demo kit, Raspberry Pi, BeagleBone Abstract This document is the user manual of the PN7120 NFC Controller SBC kit Revision history Rev Date Description
More informationPN7120 NFC Controller SBC Kit User Manual
Document information Info Content Keywords OM5577, PN7120, Demo kit, Raspberry Pi, BeagleBone Abstract This document is the user manual of the PN7120 NFC Controller SBC kit. Revision history Rev Date Description
More informationExcerpts from PG&E s SmartMeter Reports to the California Public Utilities Commission. PG&E s SmartMeter Program is a Massive Technology Rollout
May 10, 2010 Excerpts from PG&E s SmartMeter Reports to the California Public Utilities Commission PG&E s SmartMeter Program is a Massive Technology Rollout A note about this document: Some terms used
More informationCSE 435: Software Engineering FYI
CSE 435: Software Engineering Dr. B. Cheng 1129 Engineering Building chengb at cse dot msu dot edu TA: Gabrielle Nguyen, Tues, Thurs: 12:00-1:30 pm or by appt. ngyueng5 at msu dot edu Professor in CSE
More informationNASA s Strategy for Enabling the Discovery, Access, and Use of Earth Science Data
NASA s Strategy for Enabling the Discovery, Access, and Use of Earth Science Data Francis Lindsay, PhD Martha Maiden Science Mission Directorate NASA Headquarters IEEE International Geoscience and Remote
More informationA New Approach to Safety in Software-Intensive Systems
A New Approach to Safety in Software-Intensive Systems Nancy G. Leveson Aeronautics and Astronautics Dept. Engineering Systems Division MIT Why need a new approach? Without changing our patterns of thought,
More informationCC532 Collaborative System Design
CC532 Collaborative Design Part I: Fundamentals of s Engineering 5. s Thinking, s and Functional Analysis Views External View : showing the system s interaction with environment (users) 2 of 24 Inputs
More information1. Historical Development of SSDMs
Chapter 1 Historical Development of SSDMs 1. Historical Development of SSDMs 1.1. In Days of Yore The development of software system design methods has been something of a melting pot. The earliest programmable
More informationA Balanced Introduction to Computer Science, 3/E
A Balanced Introduction to Computer Science, 3/E David Reed, Creighton University 2011 Pearson Prentice Hall ISBN 978-0-13-216675-1 Chapter 10 Computer Science as a Discipline 1 Computer Science some people
More informationTesting in the Lifecycle
Testing in the Lifecycle Conrad Hughes School of Informatics Slides thanks to Stuart Anderson 19 January 2010 Software Testing: Lecture 3 1 Software was difficult to get right in 1982 2 It was still difficult
More informationWarranty Terms & Conditions
Warranty Terms & Conditions Is my guitar under warranty? How long, what specific parts? Ibanez Electric Guitars and Basses Limited Warranty Ibanez Electric Guitars and Basses sold in the United States
More informationCircuit Simulators: a Revolutionary E-Learning Platform
Circuit Simulators: a Revolutionary E-Learning Platform Mahi Itagi 1 Padre Conceicao College of Engineering, India 1 itagimahi@gmail.com Akhil Deshpande 2 Gogte Institute of Technology, India 2 deshpande_akhil@yahoo.com
More informationAutomated Software Engineering Writing Code to Help You Write Code. Gregory Gay CSCE Computing in the Modern World October 27, 2015
Automated Software Engineering Writing Code to Help You Write Code Gregory Gay CSCE 190 - Computing in the Modern World October 27, 2015 Software Engineering The development and evolution of high-quality
More informationThe Digital Abstraction
The Digital Abstraction 1. Making bits concrete 2. What makes a good bit 3. Getting bits under contract 1 1 0 1 1 0 0 0 0 0 1 Handouts: Lecture Slides, Problem Set #1 L02 - Digital Abstraction 1 Concrete
More informationSoftware Defined Radio! Primer + Project! Gordie Neff, N9FF! Columbia Amateur Radio Club! March 2016!
Software Defined Radio! Primer + Project! Gordie Neff, N9FF! Columbia Amateur Radio Club! March 2016! Overview! What is SDR?! Why should I care?! SDR Concepts! Potential SDR project! 2! Approach:! This
More informationA Methodology for Effective Reuse of Design Simulators in Operational Contexts: Lessons Learned in European Space Programmes
A Methodology for Effective Reuse of Design Simulators in Operational Contexts: Lessons Learned in European Space Programmes 11th International Workshop on Simulation & EGSE facilities for Space Programmes
More informationSAUDI ARABIAN STANDARDS ORGANIZATION (SASO) TECHNICAL DIRECTIVE PART ONE: STANDARDIZATION AND RELATED ACTIVITIES GENERAL VOCABULARY
SAUDI ARABIAN STANDARDS ORGANIZATION (SASO) TECHNICAL DIRECTIVE PART ONE: STANDARDIZATION AND RELATED ACTIVITIES GENERAL VOCABULARY D8-19 7-2005 FOREWORD This Part of SASO s Technical Directives is Adopted
More informationDOCTORAL THESIS (Summary)
LUCIAN BLAGA UNIVERSITY OF SIBIU Syed Usama Khalid Bukhari DOCTORAL THESIS (Summary) COMPUTER VISION APPLICATIONS IN INDUSTRIAL ENGINEERING PhD. Advisor: Rector Prof. Dr. Ing. Ioan BONDREA 1 Abstract Europe
More informationSERIES M MIXER MASTS
SERIES M MIXER MASTS T AB L E O F C O N T E N T S V e n d o r D a t a Material Data Sheet 4-in. Mixer Mast Specification 3-in. Mixer Mast Specification 2 - in. M i x e r M a s t S p e c i f i c a t i o
More informationSeparation of Concerns in Software Engineering Education
Separation of Concerns in Software Engineering Education Naji Habra Institut d Informatique University of Namur Rue Grandgagnage, 21 B-5000 Namur +32 81 72 4995 nha@info.fundp.ac.be ABSTRACT Separation
More informationComputer Science as a Discipline
Computer Science as a Discipline 1 Computer Science some people argue that computer science is not a science in the same sense that biology and chemistry are the interdisciplinary nature of computer science
More informationManaging the Innovation Process. Development Stage: Technical Problem Solving, Product Design & Engineering
Managing the Innovation Process Development Stage: Technical Problem Solving, Product Design & Engineering Managing the Innovation Process The Big Picture Source: Lercher 2016, 2017 Source: Lercher 2016,
More informationChapter # 1: Introduction
Chapter # : Introduction Contemporary Logic Design Randy H. Katz University of California, erkeley May 994 No. - The Process Of Design Design Implementation Debug Design Initial concept: what is the function
More informationA MODEL-DRIVEN REQUIREMENTS ENGINEERING APPROACH TO CONCEPTUAL SATELLITE DESIGN
A MODEL-DRIVEN REQUIREMENTS ENGINEERING APPROACH TO CONCEPTUAL SATELLITE DESIGN Bruno Bustamante Ferreira Leonor, brunobfl@yahoo.com.br Walter Abrahão dos Santos, walter@dss.inpe.br National Space Research
More informationTED-Kit 2, Release Notes
TED-Kit 2 3.6.0 December 5th, 2014 Document Information Info Content Keywords TED-Kit 2, Abstract This document contains the release notes for the TED-Kit 2 software. Contact information For additional
More informationRadio Remote Controls Manual K Series
Radio Remote Controls Manual K Series PN 52764 2010.12.20 Rev. 2 K Series radio control manual 1 Conductix Incorporated The technical data and images which appear in this manual are for informational purposes
More informationSaphira Robot Control Architecture
Saphira Robot Control Architecture Saphira Version 8.1.0 Kurt Konolige SRI International April, 2002 Copyright 2002 Kurt Konolige SRI International, Menlo Park, California 1 Saphira and Aria System Overview
More informationGOALS TO ASPECTS: DISCOVERING ASPECTS ORIENTED REQUIREMENTS
GOALS TO ASPECTS: DISCOVERING ASPECTS ORIENTED REQUIREMENTS 1 A. SOUJANYA, 2 SIDDHARTHA GHOSH 1 M.Tech Student, Department of CSE, Keshav Memorial Institute of Technology(KMIT), Narayanaguda, Himayathnagar,
More informationCOPYRIGHT. Limited warranty. Limitation of liability. Note. Customer remedies. Introduction. Auto-Digitizing 24-Aug-16 ii
AUTO-DIGITIZING Introduction COPYRIGHT Copyright 1998-2016. Wilcom Pty Ltd, Wilcom International Pty Ltd. All Rights reserved. All title and copyrights in and to Digitizer Embroidery Software (including
More informationCode Complete 2: A Decade of Advances in Software Construction Construx Software Builders, Inc. All Rights Reserved.
Code Complete 2: A Decade of Advances in Software Construction www.construx.com 2004 Construx Software Builders, Inc. All Rights Reserved. Construx Delivering Software Project Success Introduction History
More informationprogressive assurance using Evidence-based Development
progressive assurance using Evidence-based Development JeremyDick@integratebiz Summer Software Symposium 2008 University of Minnisota Assuring Confidence in Predictable Quality of Complex Medical Devices
More informationAn Industrial Application of an Integrated UML and SDL Modeling Technique
An Industrial Application of an Integrated UML and SDL Modeling Technique Robert B. France 1, Maha Boughdadi 2, Robert Busser 2 1 Computer Science Department, Colorado State University, Fort Collins, Colorodo,
More informationThe Importance of Being Right. Sergei Artemov, CUNY Graduate Center
The Importance of Being Right Sergei Artemov, CUNY Graduate Center Computer Science Mixter at CCNY, May 8, 2008 1 Computer bugs Computer bugs cost about $60 billion annually in the US alone. About a third
More informationPerspectives of development of satellite constellations for EO and connectivity
Perspectives of development of satellite constellations for EO and connectivity Gianluca Palermo Sapienza - Università di Roma Paolo Gaudenzi Sapienza - Università di Roma Introduction - Interest in LEO
More informationARTES Competitiveness & Growth Full Proposal. Requirements for the Content of the Technical Proposal. Part 3B Product Development Plan
ARTES Competitiveness & Growth Full Proposal Requirements for the Content of the Technical Proposal Part 3B Statement of Applicability and Proposal Submission Requirements Applicable Domain(s) Space Segment
More informationLecture 1: Introduction to Digital System Design & Co-Design
Design & Co-design of Embedded Systems Lecture 1: Introduction to Digital System Design & Co-Design Computer Engineering Dept. Sharif University of Technology Winter-Spring 2008 Mehdi Modarressi Topics
More information