Documente Academic
Documente Profesional
Documente Cultură
Save
Open
Command
Di spl ay
Interpret
Update
Event
Process
Screen
Refresh
Emplo yee
name: string
address: string
dateOfBir th: Date
employ eeNo: integer
socialSecurity No: string
depar tment: Dept
manager: Employ ee
salar y : integer
status: { current, left, retired}
taxCode: integer
. ..
j oin ()
leave ()
retire ()
changeDetails ()
Manager Programmer
is-managed-by
manages
Manager
Position currentPosition ;
Coords c1, c2 ;
Satellite sat1, sat2 ;
Navigator theNavigator ;
} //Transponder
Dataprocessinglayer whereobjects
« subsy stem» are concerned with checking and
Data processing integ rating the collected data
« subsy stem»
Data collection « subsy stem»
Data display
Observer Satellite
User
User Map
inter
interface
face display
Comms
Weather Map
Map printer
station Balloon
Data
Data
Data Data storage
storage
checking integ ration
Map store Data store
Star tup
Shutdown
Repor t
Calibrate
Test
Statia meteo
• Interfața de bază a stației meteo cu mediul său . Prin urmare, reflectă
interacțiunile identificate în modelul de cazuri folosite .
Date meteo
• Încapsulează datele sintetizate din instrumentele.
WeatherStation WeatherData
CommsController WeatherData
Instrument
WeatherStation Status
« subsy stem»
Instruments
Air
thermometer RainGauge Anemometer
Ground
thermometer Barometer WindVane
request (repor t)
acknowledge ()
repor t ()
summarise ()
send (repor t)
reply (repor t)
acknowledge ()
Operation calibrate ()
Calibrating
calibration OK
Transmitting
clock collection
done repor tWeather ()
weather summary
complete
Summarising
Collecting
} //WeatherStation
NOmeter SmokeMeter
BenzeneMeter
14
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 15 Slide 19
Componente ale sistemului de
operare
Ceas în timp real
• Aduce informații pentru alocarea proceselor .
Gestionator de întreruperi
• Administrează cereri aperiodice către sistem.
Alocator
• Alege care este următorul proces care va fi rulat.
Administrator de resurse
• Alocă resursele de procesor și memorie.
Dispecer
• Pornește execuția proceselor.
BuildingMonitor()
{
// initialise all the sensors and start the processes
siren.start () ; lights.start () ;
synthesizer.start () ; windows.start () ;
doors.start () ; movements.start () ; pm.start () ;
}
} // run
} //BuildingMonitor
CircularBuffer (int n) {
bufsize = n ;
store = new SensorRecord [bufsize] ;
} // CircularBuffer
4000
3000
2000
1000
0
Jan Feb Mar April May June
Atribut Descriere
Ușurința de învățare Cât timp îi ia unui utilizator nou să devină productive cu
sistemul?
Viteza de operare Cât de bine se potrivește răspunsul sistemului cu locul de
practică al utilizatorului?
Puterea Cât de torelant este sistemul la erorile utilizatorului?
Recuperabilitatea Cât de bun este sistemul la refacerea de la erorile
utilizatorului?
Adaptabilitatea Cât de strâns este sistemul legat de un singur model de
lucru?
Principle Description
Principle Description
Customer involvement The customer should be closely involved throughout the
Customer involvement The customer should be closely involved throughout the
development process.
development Their
process. Theirrole
role is provide
is provide and and prioritise
prioritise new new
system requirements andand
system requirements to toevaluate
evaluate thethe iterations
iterations of the system.
of the system.
Incremental delivery The software is developed in increments with the customer
Incremental delivery The software is developed
specifying in increments
the requirements to be included inwith
each the customer
increment.
specifyingThe
People not process the requirements
skills to be
of the development teamincluded in each and
should be recognised increment.
exploited. The team should be left to develop their own ways of
working without prescriptive processes.
People not process The skills of the development team should be recognised and
Embrace change
exploited.Expect
The the teamsystem requirements to change and design the system
should be left to develop their own ways of
so that it can accommodate these changes.
working without
Maintain simplicity
prescriptive processes.
Focus on simplicity in both the software being developed and in
the development process used. Wherever possible, actively work
Embrace change Expect theto system requirements
eliminate complexity from thetosystem.
change and design the system
so that it can accommodate these changes.
Maintain simplicity Focus on simplicity in both the software being developed and in
the development process used. Wherever possible, actively work
to eliminate complexity from the system.
Incremental planning Requirements are recorded on Story Cards and the Stories to be
included in a release are determined by the time available and
their relative priority. The developers break these Stories into
development ÔTasksÕ.
Small Releases The minimal useful set of functionality that provides business
value is developed first. Releases of the system are frequent and
incrementally add functionality to the first release.
Simple Design Enough de sign is carried out to meet the current requirements
and no more.
Test first development An automated unit test framework is used to write tests for a new
piece of functionality before that functionality itself is
implemented.
Refactoring All developers are expected to refactor the code con tinuously as
soon as possible code improvements are found. This keeps the
code simple and maintainable.
You
First, you select the article that you want from a displayed list.
then have to tell the system how you will pay for it - this can either
be through a subscription, through a company account or by credit
card.
After this, you get a copyright form from the system to fill in and,
when you have submitted this, the article you want is downloaded
onto your computer .
You then choose a printer and a copy of the article is printed.
You
tell the system if printing has been successful.
If the article is a print-only article, you canÕ
t keep the P DF version
so it is automatically deleted from your computer .
Input:
Astring representing thecredit card numberand two integers representing
the month and year when the card expires
Tests:
Check that all bytes in the string are digits
Check that the month lies between 1 and 12 and the
year is greater than or equal to the current year .
Using the first 4 digits of the credit card number ,
check that the card issuer is valid by looking up the
card issuer table. Check credit card validity by submitting the card
number and expiry date information to the card
issuer
Output:
OK or error message indicating that the card is invalid
General
12th January 2 000 Index
Range checking
3.876
script
User prompt
component +
Draw canvas script
component
Tree display
component
Compound document
Sy stem Application
prototy pe sy stem
Results
comparator
Difference
repor t
Mediul de refolosire
Modele de design
Generator bazat pe reutilizare
Structura aplicațiilor
Sistemul de reutilizare al aplicațiilor
Găsirea, înțelegerea și adaptarea Componentele software trebuie să se găsească în librării, trebuie înțelese și
componentelor reutilizabile uneori adaptate muncii dintr-un nou mediu. Inginerii trebuie să fie destul
de încrezători în găsirea unei componente în librărie înainte ca ei să
înceapă să caute, ceea ce este un proces obișnuit în procesul de dezvoltare.
Design
patterns
Aspect-oriented
Component Application software development
Frameworks product lines
COTS
Component-based Legacy system integrations Program
development wrapping generators
Configurable
vertical applications
Service-oriented
Program
systems
libraries
Nume
• Un identificator de model semnificativ.
Descrierea problemei.
Descrierea soluției.
• Nu un design concret ci un model pentru o soluție de design care
poate fi instanțiată în diferite moduri.
Consecințe
• Rezultatele și compromisurile de aplicare a modelului.
50
D
A
C 25
A B C D
B 0
Subj ect
Observer 1 A: 40 Observer 2
B: 25
C: 15
D: 20
Application
Program gener ator Generated pr ogram
description
Application domain
Database
kno wledge
Aspect 1 Aspect 2
Generated code
Input source code
Aspect <statements 1>
<statements 1> Weaver Aspect 1
j oin point 1
<statements 2>
<statements 2>
Aspect 2
j oin point 2
<statements 3>
<statements 3>
Model queries
Model edits and updates
Model state
Model methods
Client
Ser ver
Configuration
planning tool
Sy stem database
User i nterface
Transacti on management
Resource database
Renegotiate
requirements
Elicit Choose
stakeholder closest-fit
requirements family member
Adapt existing Deliver new
sy stem family member
addSensor
removeSensor
sensorManagement
star tSensor
Data collector stopSensor
sensorData testSensor
initialise
repor t
listAll
Customisation
Naming
convention
Composition Documentation
Horizontal services
Platform services
Modify
Outline
Identify candidate requir ements
sy stem
components according to discovered
requir ements
components
Compose
Architectur al Identify candidate
components to
design components
create sy stem
A A
A B
B B
sensorManagement addSensor
star t removeSensor
star tSensor
stop
sensor Adapter Data collector stopSensor
sensorData testSensor
getdata initialise
repor t
listAll
getImage
addItem Image
adaptor Manager
Photo retrieve
Library
catEntry getCatalogEntry
User
Inter face
-- The co ntext keyword na mes the co mponent to which the conditions apply
context addIte m
-- The precondit io ns spe cify what m us t be true before exe cu tion of addIte m
pre: PhotoL ibrary.libSize() > 0
PhotoL ibrary.retrieve(pid ) = unll
context delete
Data
(b) Data base
collection Repor t
in trfeace ue
Q u{ e
p bli
u c v d o pi(Ou ject
tb o) ;
p bli
u c v d o move
r i e (O ject
b )o;
p bli
u c t isn iez ) ;(
} // Q ue e u
c as
l s g Snl i a{
st ai ct u plbi cfin la ni rt e =d ;1
st ai ct u plbi cfin la ni at m r b =2e ;
st ai ct u plbi cfin la ni gt r en e3= ;
p bli
u c t isngSt
i a te ;
}
class Sensor {
try {
int theValue = DeviceIO. re ad Integer ( ) ;
if ( th eValue < 0)
throw ne w eSnsorFailureException ( "S ensor failure" ) ;
return theV alue ;
}
ca tch (deviceIO Except io n e)
{
throw ne w eSnsorFailureException (“ Sensor read error ”) ;
}
} // read Va l
} // Sensor
} / / try block
ca ch t (FreezerTooH toExcept ion f )
{ Alar m. act iv at e ( ) ; }
ca ch t ( nterruptedExcept
I io ne)
{
System.out .pr intln (“Thread exception”) ;
throw ne wInter rupted Except ion ( ) ;
}
} / /run
} / / Fre ezerCont roller
int val =0 ;
int to nteI ge r( )
{
return val ;
} / / ot In et ger
} / /PositiveEv en
boolean [] checkState ;
Checkable Ob ect
j [] theR boustArr ay ;
class SafeSort {
// copy he
t input a ray
A1
Output
A2
compar ator
A3
Version 1
Input
Output
Version 2
comparator
Agreed
result
Version 3
Fault
manager
N-versions
Algorithm 2 Algorithm 3
Recovery blocks
Specification Implemention
Star t
Release 1
Operation Validation
Release 2
Release 3
Fault repair
(17%)
Functionality
Software
addition or
adaptation
modification
(18%)
(65%)
Sy stem 1
Sy stem 2
450 $
0 50 100 150 200 250 300 350 400 500
Change identification
process
Software evolution
process
Platform Sy stem
Fault repair
adaptation enhancement
Reverse
eng ineering
Data
Source code Program re-engineering
translation modularisation
Program
structure
improvement
Structured Re-engineered
prog ram data
Increased cost
Procesul de testare.
Urmărirea cerinţelor.
Elementele testate.
Planificarea testării.
Procedurile de înregistrare ale testării.
Cerinţele hardware şi software.
Constrângeri.
Urmărirea cerințelor
Utilizatorii sunt foarte interesați de îndeplinirea cerințelor sistemului, de aceea testarea trebuie
planificată – pentru ca toate cerințele să fie individual testate.
Elementele testate
Produsele procesului software care urmează a fi testate trebuie specificate.
Planificarea testării
Un program de testare generală și alocare de resurse pentru acest program. Acesta, în mod evident, e
legat de programul general de dezvoltare al proiectului.
Constrângeri
Constrângerile care afectează procesul de testare, ca lipsa de personal, ar trebui anticipate în această
secțiune.
Controlul defectelor Pentru fiecare instrucțiune condițională, este pusă condiția corect?
Există certitudinea terminării buclelor?
Sunt instrucțiunile corect puse în paranteze?
În cazul instrucțiunilor alternative multiple (case), sunt toate cazurile
justificate?
Dacă un break este necesar după fiecare case, a fost acesta inclus?
main ()
{
in t nAarray [5]; int ;i char c;
pr intar ra y(Anarray, ,i c) ;
pr intar ra y(Anarray) ;
}
WeatherStation
identifier
repor tWeather ()
cali brate (i nstruments)
test ()
star tup (instruments)
shutdown (instruments)
I nval i d i n pu ts Val i d i n pu ts
Sy s tem
O utp uts
8
12 13
14 10
identifică Pregătirea
Testarea Calcularea
profilul testului pentru
sistemului fiabilităţii
operațional setul de date
Activităţi de validare a fiabilităţii
• Stabilirea profilului operațional pentru sistem.
• Construirea datelor de test care reflectă
profilul de funcționare.
• Testarea sistemului și observarea numărului
de eșecuri.
• Calculați fiabilitatea după statistica unui
număr semnificativ de eșecuri care au fost
observate.
Testarea statistică
• Testare Software pentru fiabilitate, mai degraba
decat detectarea defectelor.
• Măsurarea numărului de erori permite
fiabilitatea software-ului să fie prezis. Rețineți că
, din motive statistice, mai multe erori care sunt
permise în caietul de sarcini de fiabilitate
trebuie să fie induse.
• Un nivel acceptabil de fiabilitate ar trebui să fie
specificat, iar software-ul testat și modificat
până când se ajunge la nivel de fiabilitate
necesar.
Problemele de măsurare a fiabilităţii
• Profilul operaţional
o Profilul operaţional nu poate fi o reflectare exactă
de utilizare reala a sistemului.
• Costurile ridicate a datelor de testare
o Costurile pot fi foarte mari în cazul în
care datele de testare pentru sistem nu pot fi
generate automat.
• Statistici inexacte
o Aveți nevoie de un număr semnificativ statistic de
eșecuri pentru a calcula fiabilitatea, dar sistemele
extrem de fiabile rareori vor eșua.
Profiluri operaţionale
• Un profil de exploatare este un set de date de
testare a căror frecvență se potrivește cu frecvența
actuală a acestor intrări de la modul „normal” de
utilizare a sistemului. O potrivire strânsă este
necesară altfel fiabilitatea măsurată nu va fi
reflectată în utlizarea actuală a sistemului.
• Acestea pot fi generate din datele reale colectate
de la un sistem existent sau depinde de ipotezele
facute despre modul de utilizare a sistemului.
Un profil operaţional
Number of
inputs
...
Input classes
Generaţia profilului
operaţional
• Ar trebui generate automat ori de câte ori este
posibil.
• Generaţia profilului operaţional este dificilă pentru
sistemele interactive.
• Pot fi foarte uşoare pentru intrări „normale” dar is
dificile de spus pentru intrările „puţin probabile” şi să
se creeze date de testare pentru ele.
Predicţia de fiabilitate
• Un model de creştere este un model matematic de
schimbare a sistemului de fiabilitate care este testat
iar erorile sunt eliminate.
• Este folosit ca mijloc de predicţie a fiabilităţii de
extrapolare a datelor actuale
o simplifică testul de planificare şi negocierea cu
clienţii.
o Se poate anticipa atunci când testarea va fi
completă şi demonstrată clienţilor că va fi sau nu
atinsă creşterea fiabilităţii.
• Predicţia depinde de utilizarea testării statistice
pentru a măsura fiabilitatea unei versiuni a
sistemului.
Creşterea de fiabilitate
pas cu pas
Reliability
(ROCOF)
t1 t2 t3 t4 t5
Time
Urmărirea creşterii
fiabilităţii
• Modelul de creştere este simplu dar nu reflectă în
mod normal, realitatea.
• Fiabilitatea nu creşte neapărat cu schimbarea sa,
aceasta poate introduce noi defecte.
• Rata de creştere a fiabilităţii tinde să încetinească
cu timpul deoarece sunt descoperite frecvent noi
defecte care sunt ulterior scoase din program.
• Un model aleator de creştere poate fi, in cazul în
care modificările de fiabilitate sunt în continuă
schimbare, o reflectare mai precisă a modificărilor
reale de fiabilitate.
Creşterea aleatoare a
fiabilităţii
Note dif ferent r eliability
improvements
Reliability
(ROCOF) Fault r epair ad ds ne w fault
and decreases reliability
(increases ROC OF)
t1 t2 t3 t4 t5
Time
Creşterea modelului de
selecţie
• Au fost propuse mai multe modele de creştere a
fiabilităţii.
• Nu există nici un model de creştere de
aplicabilitate.
• Fiabilitatea trebuie sa fie măsurată şi datele
observate ar trebui să fie incluse pe mai multe
modele.
• Modelul cel mai adecvat poate fi apoi folosit
pentru predictia de fiabilitate.
Predicţia de fiabilitate
Reliability
= Measur ed r eliability
Fitted r eliability
model curv e
Requir ed
reliability
Estimated Time
time of reliability
achievement
Asigurare de securitate
• Asigurarea securităţii şi măsurarea fiabilităţii sunt
destul de diferite:
o În limitele de eroare de măsurare a fost atins un
nivel necesar de fiabilitate
o Cu toate acestea, măsurarea cantitativă de
securitate este imposibilă. Asigurarea securității
este în cauză cu stabilirea unui nivel de încredere
în sistem.
Siguranță de încredere
• Încrederea în securitatea unui sistem poate varia
de la mic la mare.
• Încrederea este dezvoltată prin:
o Experienţa trecutului cu compania care a
dezvoltat programul.
o Utilizarea proceselor de încredere şi procesele de
activităţi orientate spre securitate.
o Extinse verificări şi validări inclusiv ambele tehnici
de validare statice şi dinamice.
Comentarii de siguranţă
• Recenzie pentru corectarea functiei dorite.
• Recenzie pentru structura de întreţinut, uşor de
înţeles.
• Revizie pentru verificarea algoritmului si
proiectarea de structură de date împotriva
caietului de sarcini.
• Revizie pentru verificarea codului cu algoritmul şi
proiectarea de structură de date.
• Revizuirea caracerului adecvat al sistemului de
testare.
Recenzie de orientare
• Software-ul să fie făcut cât mai simplu posibil.
• Utilizarea tehnicilor simple pentru dezvoltarea de
software, evitarea erorilor de construcție ca
pointerii și recursivitatea.
• Utilizați informațiile ascunse să localizeze efectul de
orice corupere de date.
• Utilizarea adecvată a tehnicilor tolerante.
Argumente de siguranță
• Argumentele de siguranta sunt destinate sa arate
ca sistemul nu poate ajunge in stare nesigura.
• Acestea sunt mai slabe decat corectitudinea
argumentelor care trebuie sa arate ca specificatia
sa este conforma cu codul de sistem.
• Acestea sunt in general bazate pe dovezi de
contradictie
o Se presupune ca se poate ajunge in stare nesigura
o Arata ca acest lucru este contrazis de codul program
administerInsulin
or
Contr adiction
currentDose =
currentDose = 0
maxDose
assign assign
if statement 2 currentDose =
currentDose = 0
not e xecuted maxDose
if statement 2 if statement 2
then branch else branch
executed executed
Programul traseelor
• Nici o ramura de instructiune if nu este executata
o Se poate executa daca CurrentDose este >=
minimumDose si <= maxDose.
• Apoi ramura de instructiune if este executata
o currentDose = 0
• Else ramura de instructiune if este executata
o currentDose = maxDose
• In toate cazurile, prima conditie contrazice conditia
ca doza administrata este mai mare decat
maxDose.
Procesul de asigurare
• Procesul de asigurare implica definrea unui proces
de incredere si de a asigura ca acest proces este
urmat in timpul dezvoltarii sistemului.
• Utilizarea unui proces in conditii de siguranta este
un mecanism care reduc sansele ca erorile sa fie
introduse in sistem.
• Accidentele sunt evenimente rare, astfel incat
testarea nu va gasi toate problemele.
• Cerintele de siguranta sunt uneori cerinte care nu
pot fi demonstrate prin testare.
Procesul de activitati
legate de siguranta
• Crearea unui pericol de logare si a sistemului de
monitorizare
• Numirea inginerilor de siguranta pentru proiect
• Utilizarea extensiva a sigurantei clientilor
• Crearea unui sistem de certificare de securitate
• Configurarea managementului in detaliu
Analiza riscurilor
• Analiza riscurilor implica identificarea riscurilor si
cauzele lor
• Ar trebui sa existe trasabilitatea clara impotriva
pericolelor identificate prin analiza lor pentru
actiunile intreprinse in timpul procesului pentru a se
asigura ca aceste riscuri sunt acoperite.
• Un jurnal de risc poate fi folosit pentru a urmari
pericolele pe parcursul procesului
Riscurile de intrare
Haza rd Log. Pag e 4 : P rinted 20 .02.20
System : Ins ulin Pum p Sys tem F ile: Ins ulin Pum p/Safe ty/Ha z ardLog
Sa fety Engineer: James Bro wn Log v er s ion: 1/3
Id entified Haz a rd Ins ulin ov erdo se de liver ed to pa tie nt
Id entified by Jane Williams
Cr iticality c la s s 1
Id entified r isk High
Fau lt tr ee identified YE S Date 24 .01.99 Loca tion Ha z ard L og,
Page 5
Fau lt tr ee creato r s Jane Williams a nd Bill S mith
Fau lt tr ee che c ked YE S Date 28 .01.99 Che c ke r James Bro wn
} //administerInsulin
Evaluarea securitatii
• Evaluarea securitatii are ceva in comn cu
evaluarea sigurantei.
• Este destinata pentru a demonstra ca sistemul nu
poate intra intr-o stare (una nesigura) ci sa
demonstrese ca acesta poate face ceva.
• Cu toate acestea, exista diferente
o Problemele de securitate sunt accidentale;
problemele de securitate sunt deliberate.
o Problemele de securitate sunt mai generale –
multe sisteme sufera de aceleasi probleme;
Problemele de siguranta sunt mai ales legate de
domeniul de aplicare
Validarea de securitate
• Validare pe baza de experienta
o Sistemul este revizuit si analizat impotriva mai multor
tipuri de atacuri, care sunt cunoscute de echipa de
validare.
• Validare pe baza de instrument
o Diverse instrumente de securitate, cum ar fi
verificarea parolei sunt utilizate pentru a analiza
sistemul de operare.
• Echipele de validare
o Obiectivul unei echipe este sa sparga securitatea
sistemului pentru a simula atacuri asupra sistemului
• Verificarea formala
o Sistemul este verificat impotriva unor specificatii
oficiale de securitate.
Lista de verificare a
securitatii
1. Au toate fisierele create in aplicatie permisiunile de
acces necesare? Permisiunile de acces gresite pot
duce la aceste fisiere e catre utilizatori neautorizati.
2. Oare sistemul poate anula in mod automat sesiuni de
utilizator dupa o perioada de inactivitate? Sesiunile
care sunt lasate active pot permite accesul neautorizat
prin intermediul unui computer nesupravegheat.
3. In cazul in care sistemul este scris intr-un limbaj de
programare fara a fi verificat, exista situatii in care
memoria poate fi exploatata? Memoria poate permite
atacatorilor sa trimita codul de siruri de caractere la
sistem si apoi sa-l execute.
4. In cazul in care parolele sunt stabilite, sistemul verifica
daca parola este „puternica”. Parolele constau in
amestecul de litere, numere si semne de punctuatie si
nu sunt intrari de dictionar normale. Ele sunt mai dificil
de spart decat parolele simple.
Cazuri de siguranta si
fiabilitate
• Cazurile de siguranta si fiabilitate sunt structurate in
documentele prezentate detaliat de argumente si
dovezi care dovedesc ca a fost atins un nivel
necesar de siguranta sau fiabilitate.
• Acestea sunt cerute in mod normal de
reglementare inainte ca un sistem sa fie certificat
pentru utilizarea operationala.
Cazul sistemului de
siguranta
• Acum este o practica normala pentru un caz de
siguranta formala necesara pentru toate sistemele
critice bazate pe calculatoare ex. Sistemle de
semnalizare feroviara, controlul traficului aerian, etc.
• Un caz de siguranta este:
o Un set de documente cu dovezi care ofera un
argument convingator si valabil ca un sistem este in
mod adecvat in conditii de siguranta pentru o cerere
data intr-un anumit mediu.
• Argumentele, intr-un caz de siguranta si fiabilitate se pot
baza pe dovezi formale, proiectarea ratiunii, dovezile de
siguranta etc. Procesul de factori poate fi, de
asemenea, inclus.
Componentele unui caz
de siguranta
Componenta Descriere
Descrierea sistemului O prezentare generala a sistemului si o
descriere a componentelor sale critice.
Cerinte de siguranta Cerintele de siguranta din caietul de
sarcini ale sistemului
Analiza pericolelor si a riscurilor Documentele descriu pericolele si
riscurile care au fost identificate si
masurile luate pentru a reduce
riscurile.
Analiza de proiectare Un set de argumente structurate care
justifica de ce proiectarea este sigura
Verificare si validare O descriere a procedurilor V & V
utilizate pentru planul de testare a
sistemului. Rezultatele sistemului
V&V
Componentele unui caz
de siguranta
Componenta Descriere
Rapoartele de revizie Inregistrarea tuturor comentariilor de
proiectar si siguranta
Competentele echipei Dovezi ale competentei echipei
implicate in sistemele de securitate
legate de dezvoltare si validare.
Procesul de QA Inregistrari ale proceselor de asigurare
a calitatii efectuate in timpul
dezvoltarii sistemului
Schimbarea proceselor de Inregistrarea tuturor modificarilor
management propuse, masurile luate si justificarea
sigurantei acestor modificari.
Cazuri de securitate asociate Trimiterile la alte cazuri de securitate
care pot afecta acest caz de siguranta.
Structura argumentului
Dovezi
Dovezi
Argumentul pompei de
insulina
• Cerere
o Doza maxima calculata a unei pompe de insulina nu va depasi
maxDose.
• Dovezi
o Argumentul de siguranta pentru pompa de insulina (figura 24.7)
o Testarea setului de date pentru pompa de insulina
o Raportul de analiza statica pentru programul pompei de insulina
• Argumentul
o Siguranta argumentului prezentat arata ca doza maxima de
insulina care poate fi calculata este egala cu maxDose.
o In testele de 400, valoarea de doza a fost calculat corect si
niciodata nu a depasit maxDose
o In general, este rezonabil sa se presupuna ca afirmatia este
justificata.
Ierarhia cererii
Pompa de insulina nu va livra o
singura doza de insulina care
este nesigura
maxDose este
Doza unica maxima maxDose este o
configurat corect
calculata de pompa doza sigura pentru
atunci cand
programului nu va utilizatorul de
pompa este
depasi maxDose pompa de insulina
configurata