Escolar Documentos
Profissional Documentos
Cultura Documentos
Alle figuren, tabellen en grafieken in deze presentatie is of eigen materiaal of bevat een bronvermelding op dezelfde pagina. Niets uit deze uitgave mag worden vermenigvuldigd en/of openbaar gemaakt worden, hetzij mechanisch of elektronisch door middel van druk, fotokopie, microfilm, geautomatiseerde systemen of op welke andere wijze dan ook, zonder voorafgaande schriftelijke toestemming. Daarvoor kan men zich richten tot de directeur van de betreffende opleiding van de Faculteit Techniek van de HAN.
2
IA2 overview
System engineering System and programming concepts
Software engineering
LabVIEW programming
Contents
Engineering System and its environment Requirements management Stakeholders Problem statement Functional and nonfunctional requirements Dictionary System and software concepts Events Concurrency Hard and soft real time
Engineering
5
controller unit
input
controlled process
output
After every increment the result should be a working and tested system!
10
V-model
REQUIREMENTS ANALYSIS Validate requirements OPERATION & MAINTENANCE
Verify design
SUBSYSTEM DESIGN
CONSTRUCTION
11
Source: http://en.wikipedia.org/wiki/Iterative_and_incremental_development
12
Multiple V-model
4 increments design test design test design design test design design test
construction
construction
construction construction
13
Requirements management 1
Project start
Identify and recruit stakeholders Describe a problem statement Identify and validate requirements
Many projects fail or have bad results because requirements management is ignored!
15
Requirements management 2
Stakeholders/stakeholder classes: customers, soft- and hardware developers, users, project managers, marketing managers, ... Each stakeholder sees the problem from a different perspective. Therefore, you must understand the needs of all stakeholders in order to understand the entire problem domain. You should identify (and recruit) at least one representative from each stakeholder class who will speak for the entire class.
16
Problem statement
A problem statement is a description of the problem. A project proposal is more general. A Problem Statement is a contract negotiated between the engineering and the client or instructor. You must not talk about solutions (design and implementation) instead of making a problem statement. Target group: stakeholders, they need readable and understandable requirements.
17
Requirements 1
System identification
Define why the system is build Define what system has to be build Do not define how the system is build (avoid design and implementation decisions)
Requirements 2
What is usually not in the requirements?
Organizational goals System structure System algorithms User interface definitions Database design Information flow Pricing (debatable)
20
Requirements 3
Functional requirements: Describe the interactions between the system and its environment independent from implementation (System behaviour). Non-functional requirements: User visible aspects of the system not directly related to functional behaviour. They specify attributes of the system, rather than what the system will do. Examples: maximum speed and maximum size. Development requirements: Imposed by the client or the environment (System development).
21
Requirements 4
Requirement types:
Usability Reliability Safety Security Fault tolerance . -ilities
22
Requirements 5
Quality requirements for requirements:
Minimize the number of requirements They must be correct, complete, unambiguous and consistent The goal is to be as precise as possible! SMART
Specific Measurable Abstract Relevant Traceable, track the source of each requirement
Use SI-units (meter, kilogram, seconds, ) Only SMART requirements can be tested!
23
Requirements 6
Most requirements are related to other requirements according to a WHAT-HOW relation WHAT the system has to do Defines the problem (space) HOW the system will do it Elaborates (restricts) the solution (space) Is therefore often an early design decision!
24
SMART Requirements 1
Specific Requirements must be restricted to a particular situation, function, component, relation, or effect. The car will drive at least twice the pace of a human. On a straight course the car will drive at least twice the pace of a human.
25
SMART Requirements 2
Measurable Has concise criteria which unambiguous defines when a requirement is met by the system. On a straight course the car will drive at least twice the pace of a human On a straight course the car will reach a minimum speed of 12km/h within ten metres.
26
SMART Requirements 3
Abstract No early design decision in the requirement (do not restrict the solution space). On a straight course the car will reach a minimum speed of 15 mph within ten metres On a straight course the vehicle reaches a minimum speed of 15 mph within ten metres
27
SMART Requirements 4
Relevant Requirements relate to the systems purpose as stated by a stakeholder or to other requirements. On a straight course the vehicle reaches a minimum speed of 15 mph within ten metres. On a straight course the vehicle reaches a minimum speed of 15 mph within ten metres to guarantee timely arrival of the customers payload.
28
SMART Requirements 5
Traceable Requirements relate to each other or to the systems purpose as listed by an actor
On a straight course the vehicle reaches a minimum speed of 15 mph within ten metres to guarantee timely arrival of the customers payload. (R3.1) On a straight course the vehicle reaches a minimum speed of 15 mph within ten metres to guarantee timely arrival of the customers payload (see also R1.1)
Source: http://jessica80304.wordpress.com/2008/08/04/smart-requirements/
29
FACTS requirements
FACTS (SMART related criteria): Feasible, able to be satisfied Ambiguity-Free, no vague terms Complete, all essential information Testable, able to be verified Simple, short and concise sentence
Source: http://www.incose.org/delvalley/031400r1.pdf
30
31
32
Requirements dictionary
Dictionary Part of the requirements document may be one or more dictionaries of often used abbreviations, or ambiguous or complex terms. Goal: to avoid different or even conflicting interpretations of terms by the stakeholder community. A dictionary is not data dictionary for data base development!
33
Exercise 1
Roomba autonomous vacuum cleaner Create a requirements document containing: Problem statement Primary functional requirements Three primary non-functional requirements Dictionary
Exercise 2
RoboCup autonomous robot soccer player Create a requirements document containing: Problem statement Primary functional requirements Three primary non-functional requirements Dictionary
Programming concepts
Events Real time Data types Polymorphism Concurrency Dataflow programming
37
Events
An event is related to a detected change of some measured value. An event happens at an instant of time and takes zero time. Logical signals: 01 or 10 (rising/falling edge) Examples:
Autonomous vehicle collides with an object Temperature value in an oven exceeds maximum value The ON button switches to on (or to off)
38
Real time
Deterministic behaviour: system must guaranty to respond to an event before a required deadline. This does not mean as fast as possible!
event event related deadline
Response 1
Response 2
Response 2 does not met timing constraint
39
Real time
Periodic events
Control loop: sample sensor data, calculate control action, trigger actuators
A-periodic events
Watch dog timers Collision detection autonomous vehicle
Hard and soft real time requirements are related to the level of acceptable costs if timing constraints are not met.
40
41
Concurrency 1
Processing unit = CPU + memory + IO +software Program = data + functions Processing unit contains 1 CPU 1 CPU contains 1 or more cores System contains several communicating processing units
42
Concurrency 2
Real world is parallel Need for parallel execution of functions Multiple CPUs or 1 CPU containing multiple cores parallel execution is possible 1 CPU 1 core parallel execution possible? Scheduler: every function gets some CPU processing time quasi parallel execution
43
Concurrency 3
Limitations to parallelism Data dependencies Updating shared data Communication overhead between several concurrent executed functions caused by data exchange. LabVIEW is concurrent Dataflow
44
LabVIEW programming
Sources LabVIEW Core 1 Course Material, National Instruments Introduction to G Programming
http://zone.ni.com/devzone/cda/tut/p/id/7668
NI video instructions
http://www.ni.com/academic/students/learnlabview/
45