Intro to SE Lecture Notes 2 (Chapters 1–6).pdf

trapeziumtrapezoid12 84 views 208 slides Jun 11, 2024
Slide 1
Slide 1 of 237
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95
Slide 96
96
Slide 97
97
Slide 98
98
Slide 99
99
Slide 100
100
Slide 101
101
Slide 102
102
Slide 103
103
Slide 104
104
Slide 105
105
Slide 106
106
Slide 107
107
Slide 108
108
Slide 109
109
Slide 110
110
Slide 111
111
Slide 112
112
Slide 113
113
Slide 114
114
Slide 115
115
Slide 116
116
Slide 117
117
Slide 118
118
Slide 119
119
Slide 120
120
Slide 121
121
Slide 122
122
Slide 123
123
Slide 124
124
Slide 125
125
Slide 126
126
Slide 127
127
Slide 128
128
Slide 129
129
Slide 130
130
Slide 131
131
Slide 132
132
Slide 133
133
Slide 134
134
Slide 135
135
Slide 136
136
Slide 137
137
Slide 138
138
Slide 139
139
Slide 140
140
Slide 141
141
Slide 142
142
Slide 143
143
Slide 144
144
Slide 145
145
Slide 146
146
Slide 147
147
Slide 148
148
Slide 149
149
Slide 150
150
Slide 151
151
Slide 152
152
Slide 153
153
Slide 154
154
Slide 155
155
Slide 156
156
Slide 157
157
Slide 158
158
Slide 159
159
Slide 160
160
Slide 161
161
Slide 162
162
Slide 163
163
Slide 164
164
Slide 165
165
Slide 166
166
Slide 167
167
Slide 168
168
Slide 169
169
Slide 170
170
Slide 171
171
Slide 172
172
Slide 173
173
Slide 174
174
Slide 175
175
Slide 176
176
Slide 177
177
Slide 178
178
Slide 179
179
Slide 180
180
Slide 181
181
Slide 182
182
Slide 183
183
Slide 184
184
Slide 185
185
Slide 186
186
Slide 187
187
Slide 188
188
Slide 189
189
Slide 190
190
Slide 191
191
Slide 192
192
Slide 193
193
Slide 194
194
Slide 195
195
Slide 196
196
Slide 197
197
Slide 198
198
Slide 199
199
Slide 200
200
Slide 201
201
Slide 202
202
Slide 203
203
Slide 204
204
Slide 205
205
Slide 206
206
Slide 207
207
Slide 208
208
Slide 209
209
Slide 210
210
Slide 211
211
Slide 212
212
Slide 213
213
Slide 214
214
Slide 215
215
Slide 216
216
Slide 217
217
Slide 218
218
Slide 219
219
Slide 220
220
Slide 221
221
Slide 222
222
Slide 223
223
Slide 224
224
Slide 225
225
Slide 226
226
Slide 227
227
Slide 228
228
Slide 229
229
Slide 230
230
Slide 231
231
Slide 232
232
Slide 233
233
Slide 234
234
Slide 235
235
Slide 236
236
Slide 237
237

About This Presentation

Intro to SE Lecture Notes 2 (Chapters 1–6).pdf


Slide Content

An Overview of Computer System
Introduction to Software Engineering and
Computing
By NatnaelT.

Content
•What is Computing
•Definitionand characteristicsof computer
•Limitationsof computers
•Typesof computer
•Applications of modern computers and future
computing trend

What is computing?
•Theactivityofusingcomputersorcomputersoftwarein
ordertodoatask
•Anyactivitythatusescomputerstomanage,process,and
communicateinformationthatincludesdevelopmentofboth
hardwareandsoftware.
•SoftwareEngineeringisoneofthemajordisciplineof
computing

Definition and Characteristics of
Computer
What is Computer?

Computer
•Thewordcomputerisderivedfromthewordcompute.
Computemeanstocalculate.Thecomputerwasoriginally
definedasasuperfastcalculator.
•Anelectronicdevicethatperformdiverseoperationwiththe
helpofpredefinedinstructioncalledaprogramtoprocessthe
informationinordertoarchivedesiredresults.
•Itisanelectronicdevice,operatingunderthecontrolof
instructionsstoredinitsownmemorythatcanacceptdata
(input)fromuser,processthedataaccordingtospecifiedrules,
produceinformation(output),andstoretheinformationfor
futureuse.

•FunctionalitiesofComputer-Steps
•Accepts input/data
•Process data and convert it into useful information
•Produces output
•Stores data/instructions in its memory and use them
when required

Characteristics of Computer
•Bothcomputersandhumanscandotaskssuchas:
–Computenumbers
–Sortlargenumberoflists
–Searchitemsfromalistetc
•Whatmakesthecomputerspecialarethefollowingbasic
characteristics
a.Speed
–Speedofcomputersreferstotheamountoftimeittakes
tocarryoutabasicoperation
•Intheorderofmicro,nanoandpicoseconds

b.Storage
–Fastandefficient
–Efficientbecauseitcanstorelargeamountofinformation
withinalimitedspace
•Inaveryorganizedmanner
–Fastbecauseitcanaccessthestoredinformationina
fractionofasecond
c.Accuracy
–Unlessthereisanerrorintheinputdataorinthe
instructionusedtoprocessdatacomputersperformtasks
withahighestpossibleaccuracy
•Consistentaccuracy
–GIGO(GarbageInGarbageOut)

d.Automatic
–Oncenecessarydataandinstructionisfeedtothe
computer,itcanperformthetaskwithouthuman
intervention
e.Diligence
–Computersdonotgettired,getbored,lossconcentration
–Canworkforhours,ordays…
–Makesthemsuitableforroutinetypeofwork
f.Versatility
–Capacitytoperformcompletelydifferenttypeofwork.
•Asanaccountant,secretary…

Limitations of Computer
1. No IQ
–Cannotthink, Need to be instructedby users
–Cannot take its own decision
2.Not self directing
–Computers are not self-directing& independent machines.
•Precise instructions are needed even for the simplest
action.
•However, once put in operation they hardly ever fail

3.NoFeeling/Sympathy
–Doesnotdistinguishbetweenwhatiswrongandwhatis
right
4.NoAccountability
–Donottakeresponsibilitytowhattheydo
5.Noworkingthroughtrialanderror
–Donotlearnbyexperience
6.NoInterpretation
–Donotknowtheinterpretationsofactionstheytake
–Dowhattheyarefedtodo
•1andonearedifferentforcomputers

In general terms computers can use for the following purposes:-
•To make the work easy.
•To do the work efficiently (Efficiency).
•To improve the quality of the result of work (Quality).
•To assist the work(Assistance).
•To finish the task faster (Speed).

Types of Computer
•Therearedifferenttypesofcomputers.
•Theclassificationdependsondifferentcharacteristicsof
computerssuchas:
•PurposeorFunctionality
•Typeofdatahandled
•Physicalsize,price,capacity,performanceandprocessing
powerofcomputers.

According to Purpose or Function
1.Specific Purpose
•Designed to perform a singlespecific task.
•Theyhavesetofinstructionspermanentlyprogrammed
(pre-programmedinstructions)intothemthataredesigned
toperformonlyonemajorfunction.
•Oftenusedastrainingsimulator.
Examples:Thepublictelephonebox,Trafficcontrolsystem,Ticket
machines(usedingrocery,supermarketetc.),ATM,Washing
Machineetc...

2. General Purpose Computers
•Designedtohandlevarietyoftasks.
•Programmedtodomanydifferentkindsoftasks,rather
thanonethatislimitedbydesigntoaspecifictask.
•Moreflexible,versatileandstorelargeamountofdata
•Canhavesoftwareinstalledformanydifferentuses.
Example:Desktopcomputer,LaptopComputer,Smartphones

According to Type of Data Handled
1.Analog Computers
•Recognizedataasacontinuousmeasurementofphysical
quantity.
•Don’tcomputedirectlywithnumbers,rathertheyusephysical
quantitysuchaselectriccurrent,voltage,mechanicalmotion
anddistancetorepresentandprocessdata.
•Mostofthemarespecialpurposecomputers
Examples:Thermometer,voltmeter,speedometerofacar,andgasolinepump.

•Handleinformationthatcanbecounted.Usesdigitalcircuits
andaredesignedtooperateontwostates,namelybits(0or1).
•Thesebitscanbecombinedtodenoteinformationsuchas
numbers,letters,graphics,imagesandprograminstructions.
•Aresuitableforcomplexcomputationandhavehigher
processingspeeds.Theyareprogrammable.
•Arethemostwidelyused,andhavehigheraccuracyandspeed
thananalogcomputers
Examples:ThegeneralpurposecomputerslikeDesktop,smartphones
etc…
2. Digital Computers

•Isacombinationofbothanaloganddigitalcomputer.Can
handlebothanaloganddigitaldata.
•Combinesthebestcharacteristicsofboththeanalogand
digitalcomputer.Itcanacceptdatainbothanalogand
digitalform
•Applicableinareasuchasmanufacturing,transportation,
powersystems,healthcareandothers.
Example:Petrolpump ICUdeviceinhospitals
3. Hybrid Computers

Based on Size & Processing Powers
1.Microcomputers ( Personal Computers)
• They are relatively smallor compact in size and are often found on
a tabletop or desktop
• Comeinavarietyofsizesandshapesforavarietyofpurposes.
Basicallytheycanbegroupedintothreenamely:Laptop,Palmtop
andDesktopcomputers.
• Laptopcomputersaresmallerversionsofmicrocomputersabout
thesizeofabriefcasedesignedforportability.
• UnlikedesktopPCsthathavemostlydetachablecomponents,
laptopsincludealltheircomponents(excepttheirprinter)ina
singleunit.

Cont’d
•Palmtopcomputeristhesmallestmicrocomputerthatisabout
thesamesizeasapocketcalculator.
•Palmtopsaretypicallyusedforalimitednumberoffunctions,
suchasmaintainingpersonalcalendar,nameandaddressfiles,
orelectronicworksheets.
•Desktopcomputeristhemostwidelyusedtypeofpersonal
computer(microcomputers).
•Unlikelaptopandpersonalcomputers,desktopcomputershave
detachableparts.
•However,sinceitssizeislargerthantheothertypesofpersonal
computers,itisnoteasilyportable.

•Aremidrangecomputersthatarelargerandmorepowerful
thanmostmicrocomputersbutaresmallerandlesspowerful
thanmainframecomputersystems.
•Thesizepreventsitfrombeingeasilyportablealthoughitcan
bemovedmoreeasilythanamainframecomputer.
•Mostminicomputerscanfunctioninordinaryoperating
environments,astheydonotneedspecialairconditioningor
electricalwiring.
•Arebeingusedforalargenumberofbusinessandscientific
applications.
•Theyarepopularlyusedinscientificlaboratories,research
centers,universitiesandcolleges,engineeringfirms,industrial
processmonitoringandcontroletc.
2. Minicomputers

•Arelarge,powerfulcomputersthatarephysicallylarger
thanmicrosandminisandusuallyhaveprocessorswith
fasterinstructionprocessingspeeds.
•Abletoprocessfrom10to200millioninstructionsper
second.
•Generallyfoundinaspecialcomputerroomwhere
environmentalfactorssuchastemperature,humidity,dust
andairconditionsarecloselymonitored.
•Becauseofthecomputer’scostandthevalueofthe
informationstoredthere,theroomsinwhichmainframes
arelocatedhavesecuritysystemsallowingonlyauthorized
personneltoenter.
3. Mainframe Computers

Cont’d
➢Havethecapacitiestohostmultipleoperatingsystemsand
canhandlehundredsofusers(canserveupto50,000users
simultaneously)
➢Designedtohandletheinformationprocessingneedof
organizationwithmanyemployeesandcustomersorwith
complexcomputationalproblems.
➢Togivesomeexample,mainframescanhandletheprocessing
ofthousandsofcustomerinquiries,employeepaychecks,
studentregistrations,saletransactions,andinventory
changes.
➢Theyarealsousedasthecenterofcomputernetworking.
Thesecomputersareusedbyorganizationsthathave
enormousandcomplexdataprocessingassignments.

➢Thefastestandmostexpensivetypeofcomputers
➢Operates4to10timesfasterthanmainframecomputers
➢Cantakeinputsfromover10,000individualcomputers
andusersatthesametime.
➢Highlytraineddataprocessingprofessionalsarerequired
tooperatesupercomputers.
➢Largelyusedbyhighlycalculation-intensivetasksand
researchorganizations,militarydefensesystems,national
weatherforecastingagencies,largecorporations,aircraft
manufactureretc…
4. Super Computers

Cont’d
•Somesupercomputersrequireextrafloorsupporttoholdthe
extremeweightofthecompletesystemthatincludesstorage
units.

Applications of Modern Computers
•Nowadayseveryfieldordisciplineeitherdirectlyorindirectly
usescomputerinordertoprocessinformation.
•Herearesomeoftheapplicationareasofcomputer:
•ScienceandEngineering
•Education
•Medicineandhealthcare
•Entertainment
•Communicationandetc.

Assignment 1
•Writeandbrieflydiscusstheevolutionsofcomputers.
•Whatarethedifferentcomputergenerations.
•Brieflydiscussthetechnologyandprogramminglanguage
usedineachgeneration.
•Compareandcontrasteachcomputergeneration.

Components of Computing System
Next Class

An Overview of Computer
System
Introduction to Software Engineering
and Computing
By NatnaelT.

Content
•Computing hardware trends
•Software Vs. Program
•Characteristics of good software
•Type and Classes of Software
•Software development life cycles(SDLC)

Components of Computing System

Computing Hardware Trends
•Trend:ageneraldirectioninwhichsomething
isdevelopingorchanging.
•Computinghardwaretrends:changesor
evolutionsinthewaysthatcomputer
hardwareareusedwhichbecomewidespread
andintegratedintopopularthoughtwith
regardtosystemsandcomputingdevices.

Software Vs. Program
•Componentsofsoftware
•Software=Program+Documentation+
OperatingProcedures
•Softwareismorethanprograms.

•Anyprogramisasubsetofsoftwareandit
becomessoftwareonlyifdocumentationand
operatingproceduremanualsareprepared.
•Documentationconsistsofdifferenttypesof
manuals.

Operation procedures manuals consist of instructions
–to setupand usethe software system and
–how to react to system failure.

Software Vs Program

Characteristics of good SW
•Operational:howwellitisworking
–Budget -Usability
–Efficiency -Correctness
–Functionality -SafetyandSecurity
•Transitional:movabilityacrossplatforms
–Portability -Interoperability
–Reusability -Adaptability
•Maintenance:abilitytomaintainitselfinchanging
environment
–Maintainability -Flexibility
–Scalability

Types and Classes of Software
System Software
–Itisatypeofcomputersoftwarethatisdesignedfor
runningthecomputerhardwarepartsandthe
applicationprograms.
–OperatingsystemisanexampleofSystemSoftware
•For desktop computers, laptops and tablets:
–Microsoft Windows
–Mac(for Apple devices)
–Linux
•For smartphones:
–Apple’siOS
–Google’s Android
–Windows Phone OS

Cont’d
Application Software
–Itisdesignedfortheuserstoperformsome
specifictaskslikewritingaletter,listeningto
musicorwatchinganyvideo.
Example:Anapplicationsoftwareprogramformaking
spreadsheets.

Cont’d
•Types of Application Software
•The different types of application software
include the following:
ApplicationSoftwareType Examples
Wordprocessingsoftware MSWord,WordPadandNotepad
Databasesoftware Oracle,MSAccessetc.
Spreadsheetsoftware AppleNumbers,MicrosoftExcel
Multimediasoftware RealPlayer,MediaPlayer
PresentationSoftware MicrosoftPowerPoint,Keynotes
EnterpriseSoftware Customerrelationshipmanagementsystem
InformationWorkerSoftware Documentationtools,resourcemanagementtools
EducationalSoftware Dictionaries: Encarta, BritannicaMathematical:
MATLABOthers:GoogleEarth,NASAWorldWind
SimulationSoftware Flightandscientificsimulators
ContentAccessSoftware Accessingcontentthroughmediaplayers,webbrowsers
ApplicationSuites OpenOffice,MicrosoftOffice

Programming Software
–isthetypeofsoftwarethatisusedbysoftware
programmers
–areprogramsthatareusedtowrite,develop,
test,anddebugothersoftware,includingapps
andsystemsoftware.
–Theyarefacilitatorsoftwareusedtotranslate
programminglanguages(i.e.,Java,C++,Python,
PHP,etc)intomachinelanguagecode.
Examples:Differentprogramminglanguageeditors,debuggers,
compilersandIDEsareexamplesofprogrammingsoftwarelike
Eclipse,Notepad++,Androidstudioetc…

Driver Software
–They operateand control devices and peripherals
plugged into a computer.

Software Development Life Cycle -
SDLC

SDLC
•Softwaredevelopmentprocess
•Sequenceofstagesinsoftwareengineering
todevelopsoftwareproduct.
•Seriesofstepstobefollowedtodesignand
developasoftwareproductefficiently

SDLC
Source: Internet

Stages of SDLC
1.Planning and Requirement Gathering
–Requirement analysis: Expectations of users from
the software product
–Feasibility study: Detailed study by the analysts
whether the desired system and its functionalityare
feasible to develop.
–Planning: for the quality assurance requirements and
identification of the risks associated with the project.

Stages of SDLC-cont’d
2.DefiningRequirements
–Clearlydefineanddocumenttheproductrequirements
andgetthemapprovedfromthecustomer
–SoftwareRequirementSpecification(SRS):document
whichconsistsofalltheproductrequirementstobe
designedanddevelopedduringtheprojectlifecycle.

Stages of SDLC-con’t
3.Designing
–UsesSRSasareference
–DesignDocumentSpecification(DDS):document
whichclearlydefinesallthearchitecturalmodulesof
theproductalongwithitscommunicationanddata
flowrepresentationwiththeexternalandthirdparty
(ifany)modules.

Stages of SDLC-con’t
4.SoftwareDevelopment(Implementation)
–TheprogrammingcodeisgeneratedasperDDS
–Differenthighlevelprogramminglanguagessuch
asC,C++,JavaScript,JavaandPHPareusedfor
coding.
–Theprogramminglanguageischosenwith
respecttothetypeofsoftwarebeingdeveloped.

Stages of SDLC-con’t
5.Testing
•Softwaredefectsarereported,tracked,fixedand
retested,untilthesoftwareproductreachesthe
qualitystandardsdefinedintheSRS.
•Checkswhetherthedevelopedsystem
➢meetstherequirements
➢respondscorrectlytoallkindsofinputs,
➢performsitsfunctionswithinanacceptabletime
➢canbeinstalled&runinitsintendedenvironment
➢achievesstakeholder’sdesire.

Stages of SDLC-con’t
6.Deployment
–alloftheactivitiesthatmakeasoftwaresystem
availableforuse.
–Theproductmayfirstbereleasedinalimited
segmentandtestedintherealbusiness
environment(UAT-Useracceptancetesting).

Stages of SDLC-con’t
7.Maintenance
–istheprocessofmodifyingasoftwareproduct
afterithasbeendeliveredtothecustomer.
•NeedforMaintenance
–Correcting faults
–Improving the design
–Implementing enhancements/new featuresetc…

Chapter Two
Data Representation and Basics of
Computer architecture
2/23/2023 1NatnaelT. SWEG 2021

Data Representation
❑Computers use digital representation
❑Based on a binary system (uses on/off states
to represent 2 digits).
❑ALL data (no matter how complex) must be
represented in memory as binary digits (bits).
2/23/2023 2Natnael T. SWEG 2021

Number systems and computers
•Computersstorealldataasbinarydigits,but
wemayneedtoconvertthistoanumber
systemwearefamiliarwith.
•Computerprogramsanddataareoften
represented(outsidethecomputer)using
octalandhexadecimalnumbersystems
becausetheyareashorthandwayof
representingbinarynumbers.
2/23/2023 3Natnael T. SWEG 2021

Number Systems -Decimal
✓Thedecimalsystemisabase-10system.
✓Thereare10distinctdigits(0to9)to
representanyquantity.
✓Forann-digitnumber,thevaluethateach
digitrepresentsdependsonitsweightor
position.
✓Theweightsarebasedonpowersof10.
✓1024=1*10
3
+0*10
2
+2*10
1
+4*10
0
=1000
+20+4
2/23/2023 4Natnael T. SWEG 2021

Number Systems -Binary
•Thebinarysystemisabase-2system.
•Thereare2distinctdigits(0and1)torepresent
anyquantity.
•Forann-digitnumber,thevalueofadigitin
eachcolumndependsonitsposition.
•Theweightsarebasedonpowersof2.
•1011
2=1*2
3
+0*2
2
+1*2
1
+1*2
0
=8+2+1=11
10
2/23/2023 5Natnael T. SWEG 2021

Number Systems -Octal
•Octalandhexadecimalsystemsprovidea
shorthandwaytodealwiththelongstringsof1’s
and0’sinbinary.
•Octalisbase-8systemusingthedigits0to7.
•Toconverttodecimal,youcanagainusea
columnweightedsystem7512
8=7*8
3
+5*8
2
+
1*8
1
+2*8
0
=3914
10
•Anoctalnumbercaneasilybeconvertedto
binarybyreplacingeachoctaldigitwiththe
correspondinggroupof3binarydigits
•7512
8=111101001010
2
2/23/2023 6Natnael T. SWEG 2021

Number Systems -Hexadecimal
✓Hexadecimalisabase-16system.
✓Itcontainsthedigits0to9andthelettersAto
F(16digitvalues).
✓ThelettersAtoFrepresenttheunitvalues10
to15.
✓Toconverttodecimal,useaweightedsystem
withpowersof16.
2/23/2023 7Natnael T. SWEG 2021

Number Systems -Hexadecimal
•Conversiontobinaryisdonethesamewayas
octaltobinaryconversions.
•Thistimethoughthebinarydigitsare
organizedintogroupsof4.
•Conversionfrombinarytohexadecimal
involvesbreakingthebitsintogroupsof4and
replacingthemwiththehexadecimal
equivalent.
2/23/2023 8Natnael T. SWEG 2021

Example #1
Value of 2001 in Binary, Octal and Hexadecimal
2/23/2023 9Natnael T. SWEG 2021

Example #2
Conversion: Binary -> Octal ->Hexadecimal
2/23/2023 10Natnael T. SWEG 2021

Decimal to Base
NConversions
•Toconvertfromdecimaltoadifferentnumber
basesuchasOctal,BinaryorHexadecimal
involvesrepeateddivisionbythatnumber
base
•Keepdividinguntilthequotientiszero
•Usetheremaindersinreverseorderasthe
digitsoftheconvertednumber
2/23/2023 11Natnael T. SWEG 2021

Example #3
Decimal to Binary 1492 (decimal) = ??? (binary)
Repeated Divide by 2
2/23/2023 12Natnael T. SWEG 2021

Base
Nto Decimal Conversions
•Multiplyeachdigitbyincreasingpowersofthe
basevalueandaddtheterms
•Example:101102=???(decimal)
2/23/2023 13Natnael T. SWEG 2021

Data Representation
•Computers store everything as binary digits. So,
how can we encode numbers, images, sound,
text??
•We need standard encoding systemsfor each
type of data.
•Some standards evolve from proprietary products
which became very popular.
•Other standards are created by official industry
bodies where none previously existed.
2/23/2023 14Natnael T. SWEG 2021

Alphanumeric Data
•Alphanumericdatasuchasnamesandaddressesare
representedbyassigningauniquebinarycodeor
sequenceofbitstorepresenteachcharacter.
•Aseachcharacterisenteredfromakeyboard(or
otherinputdevice)itisconvertedintoabinarycode.
•Charactercodesetscontaintwotypesofcharacters:
–Printable(normalcharacters)
–Non-printable.Charactersusedascontrolcodes.
•CTRLG(beep)
2/23/2023 15Natnael T. SWEG 2021

Alphanumeric Codes
✓Charactersarerepresentedinternallybythese8-bitbinary
codes.
✓An8-bitmemorywordcanthusstoreonecharacter.
✓A16-bitmemorywordisusuallydividedintotwo8-bit
segmentsorbytes.
✓Eachofwhichcanstoreasinglecharacter.Similarly,a32-bit
memorywordcanstorefourcharacters.
✓Characterstringsoflengthgreaterthanthenumberof
bytesinawordarestoredintwoormoreconsecutive
words.
•There are 3 main coding methods in use:
•ASCII, EBCDIC ,Unicode .
2/23/2023 16Natnael T. SWEG 2021

ASCII
(American Standard Code for Information Interchange)
❖7-bit code (128 characters)
❖Has an extended 8-bit version
❖Used on PC’sand non-IBM mainframes
❖Widely used to transfer data from one
computer to another
2/23/2023 17Natnael T. SWEG 2021

ASCII character set (Sample)
2/23/2023 18Natnael T. SWEG 2021

EBCDIC
(Extended Binary Coded Decimal Interchange Code).
•An 8-bit code (256 characters)
•Different collating sequence to ASCII
•Used on mainframe IBM machine
•Both ASCII and EBCDIC are 8 bit codes
inadequatefor representing all international
characters
–Some European characters
–Most non-Alphabetic languages
e.gMandarin, Kanji, Arabic, etc…
2/23/2023 19Natnael T. SWEG 2021

Unicode
•New 16 bit standard -can represent 65,536 characters
•Of which 49,000have been defined
–6400 reserved for private use
–10,000for future expansions
•Incorporates ASCII-7
•Example -Java code:
char letter = ‘A’;
char word[ ] = ‘YES’;
•Stores the values using Unicode characters
•Java VM uses 2 bytes to store one Unicode character.
2/23/2023 20Natnael T. SWEG 2021

Numeric Data
❖Need to perform computations
❖Need to represent only numbers
❖Using ASCII coded digits is very inefficient
❖Representation depends on nature of the data and
processing requirements
Display purposes only (no computations): CHAR
• PRINT 125.00
–Computation involving integers: INT
• COMPUTE 16 / 3 = 5
–Computation involving fractions: FLOAT
• COMPUTE 2.001001 * 3.012301 = 6.0276173133
2/23/2023 21Natnael T. SWEG 2021

Representing Numeric Data
•Stored within the computer using one of several
different numeric representation systems
•Derived from the binary (base 2) number system.
•We can represent unsigned numbers from 0-255 just
using 8 bits
•Or in general we can represent values from 0 to 2
N
-1
using N bits.
•The maximum value is restricted by the number of bits
available (called Truncation or Overflow)
•However, most programming languages support
manipulation of signed and fractional numbers.
–How can these be represented in binary form?
2/23/2023 22Natnael T. SWEG 2021

Representing Numeric Data
Range of Values 0 to 2
N
-1 in N bits
2/23/2023 23Natnael T. SWEG 2021

Binary Arithmetic
Binary Addition
✓Additioninbinaryispreciselyanalogoustoadditionin
decimal.
✓Workingfromthewrite,ifthesumof2digitsproducesa2
digitresult,thedigitontherightiswrittendownandthedigit
ontheleftisaddedtothenextcolumntotheleft.
2/23/2023 24Natnael T. SWEG 2021

2/23/2023 25NatnaelT. SWEG 2021
Example 1: Binary Addition
10101 and 11011
1 1 1 1 Carry overs
1 0 1 0 1
1 1 0 1 1
1 1 0 0 0 0
Example 2: Binary Addition

Binary Subtraction
•Recallthatindecimalsubtractiononesubtractsadecimal
digitfromasmallerdecimaldigitbyborrowing1fromthe
termontheleft.
•Binarysubtractioncanbeaccomplishedsimilarly.The
borrowed1andthe0ofthelocationinvolvedcombineto
form(10)
2.
•Thus,ifthereisadigitontheleft,0-1becomes10-1=1,
witha1borrowedfromtheleft.
2/23/2023 26Natnael T. SWEG 2021

2/23/2023 27Natnael T. SWEG 2021
Example 1: Binary Subtraction
Example 2: Binary Subtraction

Binary Multiplication
2/23/2023 28Natnael T. SWEG 2021
•Binary multiplication is similar to decimal multiplication.
•It is simpler than decimal multiplication because only 0s and
1s are involved.
•There are four rules of binary multiplication.

Binary Division
•Binarydivisionissimilarinproceduretodecimaldivision.
•Theplacementofthebinarypointisexactlythesameasthe
placementofthedecimalpointindecimaldivision.
2/23/2023 29Natnael T. SWEG 2021

Integer Representation
•UNSIGNED representing numbers from 0 upwards or
SIGNED to allow for negatives.
•In the computer we only have binary digits, so to
represent negative integers we need some sort of
convention.
•Four conventions in use for representing negative
integers are:
–Sign and Magnitude
–1’s Complement
–2’s Complement
–Excess 128
2/23/2023 30Natnael T. SWEG 2021

Negative Integers –Sign and
Magnitude
▪Simplest form of representation
▪Stores positive and negative values by dividing the “n”
total bits into two parts: 1 bit for the sign and n–1 bits
for the value which is a pure binary number
▪Example:
–+6 in 8-bit representation is: 00000110
–-6 in 8-bit representation is: 10000110
▪Disadvantages
–Arithmetic is difficult
–Two representations for zero
• 00000000
• 10000000
2/23/2023 31Natnael T. SWEG 2021

Negative Integers –One’s (1’s) Complement
•Computers generally use a system called
“complementary representation” to store
negative integers.
•Two basic types -onesand twos complement,
of which 2’s complement is the most widely
used.
•Negative numbers begin with 1, positive with
0.
2/23/2023 32Natnael T. SWEG 2021

Negative Integers –One’s (1’s) Complement
•To perform 1’s complement operation on a binary number,
replace 1’s with 0’s and 0’s with 1’s (i.eComplement it!)
+6 represented by: 00000110
-6 represented by: 11111001
•Advantages: arithmetic is easier (cheaper/faster
electronics)
•Fairly straightforward addition –Add any carry from the
Most Significant (left-most) Bit to Least Significant (right-
most) Bit of the result
•For subtraction –form 1’s complement of number to be
subtracted and then add
•Disadvantages: still two representations for zero 00000000
and 11111111 (in 8-bit representation)
2/23/2023 33Natnael T. SWEG 2021

One’s Complement Example
•Case I:When the positive number has greater
magnitude.
2/23/2023 Natnael T. SWEG 2021 34
Hence the required sum is + 0001.

One’s Complement Example cont.
•Case II:When the negative number has
greater magnitude.
2/23/2023 Natnael T. SWEG 2021 35
Hence the required sum is –0010.

Negative Integers –Two’s (2’s) Complement
•To perform the 2’s complement operation on a
binary number
–Replace 1’s with 0’s and 0’s with 1’s (i.e. the one's
complement of the number)
–Add 1
+6 represented by: 00000110
-6 represented by: 11111010
•Advantages:
–Arithmetic is very straightforward
–End Around Carry is ignored
•only one representation for zero (00000000)
2/23/2023 36Natnael T. SWEG 2021

Negative Integers –Two’s (2’s) Complement
•Two’s Complement
–To convert an integer to 2’s complement
❑Take the binary form of the number
00000110 (6 as an 8-bit representation)
❑Flip the bits: (Find 1’s Complement)
11111001
❑Add1 11111001 +1 = 11111010 (2’s complement of 6)
❑Justification of representation:6+(-6)=0?
00000110 (6)
+11111010 (2’s complement of 6)
100000000 (0)
2/23/2023 37Natnael T. SWEG 2021

Negative Integers –Two’s (2’s) Complement
Properties of Two’s Complement
–The 2’s comp of a 2’s comp is the original number
00000110 (6)
11111010 (2’s comp of 6)
00000101
+1
00000110 (2’s comp of 2’s comp of 6)
–The sign of a number is given by its MSB
The bit patterns:
•00000000 represents zero
•0nnnnnnn represents positive numbers
•1nnnnnnn represents negative number
2/23/2023 38Natnael T. SWEG 2021

Negative Integers –Two’s (2’s) Complement
•Addition
–Addition is performed by adding corresponding bits
00000111 ( 7)
+00000101 (+5)
00001100 (12)
•Subtraction –Subtraction is performed by adding the 2’s
complement
–Ignore End-Around-Carry
00001100 (12)
+11111011 (-5)
100000111 ( 7)
2/23/2023 39Natnael T. SWEG 2021

Negative Integers –Two’s (2’s) Complement
•Interpretation of Negative Results
00000101 ( 5)
+11110100 (-12)
11111001 ( )
–Result is negative
MSB of result is 1 so it is a negative number in 2’s complement
form
–Negative what?
Take the 2’s comp of the result to find out since the 2’s comp
of a 2’s comp is the original number
–Negative 7 the 2’s complement of 11111001 is 00000111 or
7
10
2/23/2023 40Natnael T. SWEG 2021

Integer Overflow
•Problem: A result of an artihematicoperation that is too big to
be represented in number of bits available. This is called
overflow.
•Overflow can occur whether or not there is a carry
2/23/2023 41Natnael T. SWEG 2021
Example:

Basics of digital logic gates and
Boolean algebra
•Binary (Boolean) Logic deals with binary
variables and binary logic functions has two
discrete values
➢0 -> False, Open
➢1 -> True, Close
•Three basic logical operations
AND (.); OR (+); NOT (‘)
2/23/2023 42Natnael T. SWEG 2021

Logic Gates & Truth Tables
2/23/2023 43Natnael T. SWEG 2021

2/23/2023 44Natnael T. SWEG 2021

Other Logic Gates –NAND Gate
•2-input NAND (NOT-AND operation)
•Can have any # of inputs
2/23/2023 45Natnael T. SWEG 2021

Other Logic Gates –NOR Gate „
•2-input NOR (NOT-OR operation)
•Can have any # of inputs
2/23/2023 46Natnael T. SWEG 2021

Other Logic Gates –XOR Gate
•2-input XOR Output is 1 if any input is one and
the other input is 0
•Can have any # of inputs
2/23/2023 47Natnael T. SWEG 2021

Other Logic Gates –XNOR Gate
2/23/2023 48Natnael T. SWEG 2021

Introduction to computer organization
and Architecture.
Why study computer organization and
architecture?
–Design better programs, including system software such as
compilers, operating systems, and device drivers.
–Optimize program behavior.
–Evaluate (benchmark) computer system performance.
–Understand time, space, and price tradeoffs.
2/23/2023 49Natnael T. SWEG 2021

•Computer organization
–physical aspects of computer systems.
–E.g., circuit design, control signals, memory types.
–How does a computer work?
•Computer architecture
–Logical aspects of system as seen by the
programmer.
–E.g., instruction sets, instruction formats, data
types, addressing modes.
–How do I design a computer?
2/23/2023 50Natnael T. SWEG 2021

•At the most basic level, a computer is a device
consisting of three pieces:
–A processorto interpret and execute programs
–A memoryto store both data and programs
–A mechanism for transferring data toand fromthe
outside world.
2/23/2023 51Natnael T. SWEG 2021

•Writing complex programs requires a “divide and
conquer” approach, where each program module
solves a smaller problem.
•Complex computer systems employ a similar
technique through a series of virtual machine
layers.
The Computer Level Hierarchy
Level Hierarchy
2/23/2023 52Natnael T. SWEG 2021

…. Cont
•Each virtual machine layer is an abstractionof
the level below it.
•The machines at each level execute their own
particular instructions, calling upon machines at
lower levels to perform tasks as required.
•Computer circuits ultimately carry out the work.
2/23/2023 53Natnael T. SWEG 2021

2/23/2023 54Natnael T. SWEG 2021

…….cont
•Level 6: The User Level
–Program execution and user interface level.
–The level with which we are most familiar.
•Level 5: High-Level Language Level
–The level with which we interact when we write
programs in languages such as C, Pascal, Lisp, and
Java.
2/23/2023 55Natnael T. SWEG 2021

……cont
•Level 4: Assembly Language Level
–Acts upon assembly language produced from
Level 5, as well as instructions programmed
directly at this level.
•Level 3: System Software Level
–Controls executing processes on the system.
–Protects system resources.
–Assembly language instructions often pass
through Level 3 without modification.
2/23/2023 56Natnael T. SWEG 2021

……cont
•Level 2: Machine Level
–Also known as the Instruction Set
Architecture (ISA) Level.
–Consists of instructions that are particular
to the architecture of the machine.
–Programs written in machine language need
no compilers, interpreters, or assemblers.
2/23/2023 57Natnael T. SWEG 2021

……cont.
•Level 1: Control Level
–A control unitdecodes and executes instructions
and moves data through the system.
–Control units can be micro-programmedor
hardwired.
–A micro-programis a program written in a low-
level language that is implemented by the
hardware.
–Hardwired control units consist of hardware that
directly executes machine instructions.
2/23/2023 Lalise D. SWEG 2021 58

…….cont
•Level 0: Digital Logic Level
–This level is where we find digital circuits (the
chips).
–Digital circuits consist of gates and wires.
–These components implement the mathematical
logic of all other levels.
2/23/2023 59Natnael T. SWEG 2021

Chapter Three
Introduction To Software
Engineering
1

•Software Engineering is composed of two
words, softwareand engineering.
•Software is more than just a program code
•A program is an executable code, having some
computational purpose
•Software is a collection of executable programming
code, associated libraries and documentations
•Software, when made for a specific requirement is
called software product.
•Engineering is developing products, using well-
defined, scientific principles and methods.
Software Engineering
2

•SoftwareEngineeringisanengineeringbranch
associatedwiththedevelopmentofsoftwareproduct
usingwell-definedscientificprinciples,methodsand
procedureswiththeoutcomeofanefficientand
reliablesoftwareproduct.
•IEEE definition
➢The application of a systematic, disciplined,
quantifiable approach to the development,
operation and maintenance of software
•Softwareengineeringisabranchofcomputerscience,
whichuseswell-definedengineeringconcepts
requiredtoproduceefficient,durable,scalable,in-
budgetandon-timesoftwareproducts.
3

Softwareengineeringprinciplesusetwoimportant
techniquestoreduceproblemcomplexity:
•Abstraction:Simplifyingproblemsbyomitting
irrelevantdetails.
•Decomposition:Dividingcomplexproblemsinto
severalsmallerproblemsandsolvingsmaller
problemsonebyone.
4

Software Engineering as an Engineering
Discipline
•Applytheories,methods,andtoolsandusethem
selectively
•Trytodiscoversolutionstoproblemsevenwhenthere
arenoapplicabletheoriesandmethods
•Findsolutionswithinconstraints
•Softwareengineeringisnotjustconcerned
withthetechnicalprocessesofsoftwaredevelopment
butalsosoftwareprojectmanagementandthe
developmentoftools,methods,andtheories
5

SE Vs CS
•CSisconcernedwiththetheoriesandmethods
thatunderliecomputersandsoftwaresystems
whereasSEisconcernedwiththepractical
problemsofproducingsoftware.
•SomeknowledgeofCSisessentialforSElike
someknowledgeofphysicsisessentialfor
electricalengineers
6

SE Vs System Engineering
•Systemengineeringisconcernedwithall
aspectsofthedevelopmentandevolutionof
systems
•Hardwaredevelopment,
•Policyandprocessdesignand
•Systemdeployment,aswellassoftwareengineering
•SystemEngineersspecifythesystem,defineits
overallarchitecture,andintegratethedifferent
partstocreatethefinishedsystem
•ButSEmainlyconcernedonthedevelopment
ofsoftwareproducts
7

Need for SE
Tworeasons
1.Individualsandsocietyrelyonadvanced
softwaresystemssoastoproducereliable
andtrustworthysystemseconomicallyand
quickly.
2.SEusesmethodsandtechniquestomake
softwaredevelopmentcheaper.
8

Presentation on
•Evolution of Software Engineering-G1
•The impact of software on economic, societal and
environmental safety-G2
•Software professionalism, accreditation, certification, and
licensing-G3
•Code of Ethics and professional conduct-G4
•Social, legal, historical, and professional issues and concerns-G5
•The nature role of professional societies and software
engineering standards-G6
9

Chapter Four
Software Development
Methodologies and Paradigms

Contents
•Software Engineering Practice
•Essence of Practice
•Core Principles of Software Engineering
•Types of Practice
•Software Engineering Methodologies
•Software Development Paradigm

Recall
•Softwareengineering(SE)isconcernedwithdevelopingand
maintainingsoftwaresystemsthatbehavereliablyandefficiently,are
affordabletodevelopandmaintain,andsatisfyalltherequirements
thatcustomershavedefinedforthem.
•Developmentrequiresanalysisandsynthesis
•Analysis:decomposealargeproblemintosmaller,understandablepieces
•Synthesis:build(compose)softwarefromsmallerbuildingblocks

Software Engineering: Solving Problem
•The analysis process

•The synthesis process

Software Engineering Practice
•Consistsofacollectionofconcepts,principles,methods,and
toolsthatasoftwareengineercallsupononadailybasis
•Equipsmanagerstomanagesoftwareprojectsandsoftware
engineerstobuildcomputerprograms
•Providesnecessarytechnicalandmanagementknowledge
howtogettingthejobdone

Essenceof Practice
1.Understandtheproblem(communicationandanalysis)
•Whohasastakeinthesolutiontotheproblem?
•Whataretheunknowns?andwhat(data,function,behavior)are
requiredtoproperlysolvetheProblem?
•Isitpossibletorepresentsmallerproblemsthatmaybeeasierto
understand.
•Cantheproblemberepresentedgraphically?Cananalysismodelbe
created?

2.Planasolution(planning,modelingandsoftwaredesign)
•Have you seen similar problems like this before?
•Has a similar problem been solved? If so, are the elements of the
solution reusable?
•Can sub problems be defined and are solutions available for the
sub problems?
Cont’d

Cont’d
3. Carry out the plan (construction; code generation)
•Doesthesolutionconformtotheplan?Isthesourcecode
traceablebacktothedesign?
•Iseachcomponentofthesolutioncorrect?Hasthedesignand
codebeenreviewed,orbetter?

Cont’d
4.Examinetheresultsforaccuracy(testingandquality
assurance)
•Isitpossibletotesteachcomponentofthesolution?Hasa
reasonabletestingstrategybeenimplemented?
•Doesthesolutionproduceresultsthatconformtothedata,
function,andbehaviorthatarerequired?
•HastheSoftwarebeenvalidatedagainstallstakeholders
requirement?

Core Principles of Software Engineering
1.Rememberthereasonthatthesoftwareexists
•Thesoftwareshouldprovidevaluetoitsusersandsatisfytherequirements
2.Keepitsimple
•Alldesignandimplementationshouldbeassimpleaspossible
3.Maintainthevisionoftheproject
•Aclearvisionisessentialtotheproject’ssuccess
4.Otherswillconsumewhatyouproduce
•Alwaysspecify,design,andimplementknowingthatsomeoneelsewilllaterhaveto
understandandmodifywhatyoudid

Cont’d
5.Beopentothefuture
•Neverdesignyourselfintoacorner;buildsoftwarethatcanbeeasilychangedand
adapted.
6.Planaheadforsoftwarereuse
•Reuseofsoftwarereducesthelong-termcostandincreasesthevalueoftheprogram
andthereusablecomponents.
7.Think,thenact
•Placingclear,completethoughtbeforeactionwillalmostalwaysproducebetter
results

Types of Practices
•Communication Practice
•Planning Practice
•Modeling Practice
•Construction Practice
•Testing Practice
•Deployment Practice

Communication Practice
1.Listentothespeakerandconcentrateonwhatisbeingsaid
2.Preparebeforeyoumeetbyresearchingandunderstandingtheproblem
3.Someoneshouldfacilitatethemeetingandhaveanagenda
4.Face-to-facecommunicationisbest,butalsohaveadocumentor
presentationtofocusthediscussion
5.Takenotesanddocumentdecisions

Cont’d
6.Striveforcollaborationandconsensus
7.Stayfocusedonatopic;modularizeyourdiscussion
8.Ifsomethingisunclear,drawapicture
9.Moveontothenexttopic
a)afteryouagreetosomething,
b)ifyoucannotagreetosomething,or
c)ifafeatureorfunctionisunclearandcannotbeclarifiedatthemoment
10.Negotiationisnotacontestoragame;itworksbestwhenbothpartieswin

Planning Practice
1.Understandthescopeoftheproject
2.Involvethecustomerintheplanningactivity
3.Recognizethatplanningisiterative;thingswillchange
4.Estimatebasedononlywhatyouknow
5.Considerriskasyoudefinetheplan

Cont’d
6.Berealisticonhowmuchcanbedoneeachdaybyeachpersonand
howwell
7.Adjustgranularityasyoudefinetheplan
8.Definehowyouintendtoensurequality
9.Describehowyouintendtoaccommodatechange
10.Tracktheplanfrequentlyandmakeadjustmentsasrequired

Modeling Practice (Analysis)
1.Theinformationdomainofaproblem(thedatathatflowsinandoutofasystem)
mustberepresentedandunderstood
2.Thefunctionsthatthesoftwareperformsmustbedefined
3.Thebehaviorofthesoftware(asaconsequenceofexternalevents)mustbe
represented
4.Themodelsthatdepictinformation,function,andbehaviormustbepartitionedina
mannerthatuncoversdetailinalayered(orhierarchical)fashion
5.Theanalysistaskshouldmovefromessentialinformationtowardimplementation
detail

Modeling Practice (Design)
1. The design should be traceableto the analysis model
2. Always consider the software architecture of the system to be built
3. Design of data is as important as design of processing functions
4. Interfaces(both internal and external) must be designed with care
5. User interface design should be tuned to the needs of the end-user
and should stress ease of use

Cont’d
6. Component-level design should be functionally independent (high
cohesion)
7. Components should be loosely coupled to one another and to the
external environment
8. Design representations (models) should be easily understandable
9. The design should be developed iteratively; with each iteration, the
designer should strive for greater simplicity

Construction Practices (Before Coding)
1.Understandtheproblemyouaretryingtosolve
2.Understandbasicdesignprinciplesandconcepts
3.Pickaprogramminglanguagethatmeetstheneedsofthesoftwaretobe
builtandtheenvironmentinwhichitwilloperate
4.Selectaprogrammingenvironmentthatprovidestoolsthatwillmake
yourworkeasier
5.Createasetofunitteststhatwillbeappliedoncethecomponentyou
codeiscompleted

Construction Practices (When Coding Begin)
1.Constrain your algorithmsby following structured programming
practices
2.Select data structures that will meet the needs of the design
3.Understand the software architecture and create interfaces that are
consistent with it
4.Keep conditional logic as simple as possible
5.Create nested loops in a way that makes them easily testable
6.Select meaningful variable names and follow other local coding
standards
7.Write code that is self-documenting
8.Create a visual layout (e.g., indentationand blank lines) that aids
code understanding

Construction Practices (When Coding End)
1.Conduct a code walkthrough
2.Perform unit tests (black-box and white-box) and correct errors you
have uncovered
3.Refactorthe code

Testing Practice
1.Alltestsshouldbetraceabletothesoftwarerequirements
2.Testsshouldbeplannedlongbeforetestingbegins
3.TheParetoprincipleappliestosoftwaretesting
•80%oftheuncoverederrorsarein20%ofthecode
4.Testingshouldbegin“inthesmall”andprogresstowardtesting“inthe
large”
•Unittesting-->integrationtesting-->validationtesting-->systemtesting
5.Exhaustivetestingisnotpossible

Deployment Practice
1.Customer expectations for the software must be managed
•Be careful not to promise too much or to mislead the user
2.A complete delivery package should be assembledand tested
3.A support system must be established before the software is
delivered
4.Appropriate instructional materials must be provided to end users
5.Buggy software should be fixed first, delivered later

Software Engineering
Methodologies

Software Engineering Methodologies
•SEmethodsprovideanorganizedandsystematicapproach
todevelopingsoftwareforatargetcomputer.
•Therearenumerousmethodsfromwhichtochoose,anditis
importantforthesoftwareengineertochoosean
appropriatemethodormethods.
•Thechoicecanhaveadramaticeffectonthesuccessofthe
softwareproject.

Software Engineering Methodologies
•SomeoftheselectedSEmethodsare:HeuristicMethods,
FormalMethods,PrototypingMethods,andAgileMethods.
Heuristic Methods
•Arethoseexperience-basedSEmethodsthathavebeenand
arefairlywidelypracticedinthesoftwareindustry.
•TheHeuristicMethodshasthreediscussioncategories.

Software Engineering Methodologies (Cont.)
i.Structuredanalysisanddesignmethods,ii.Datamodelingmethods,iii.Objectorientedanalysisand
designmethods.
Structured analysis and design methods:
•Thesoftwaremodelisdevelopedprimarilyfromafunctionalorbehavioral
viewpoint
•Startingfromahigh-levelviewofthesoftware(includingdataandcontrol
elements)andthenprogressivelydecomposingorrefiningthemodel
componentsthroughincreasinglydetaileddesigns

Software Engineering Methodologies (Cont.)
•Thedetaileddesigneventuallyconvergestoveryspecificdetailsorspecifications
ofthesoftwarethatmustbecoded(byhand,automaticallygenerated,orboth),
built,tested,andverified.
Data Modeling Methods:
•Thedatamodelisconstructedfromtheviewpointofthedataorinformation
used.Datatablesandrelationshipsdefinethedatamodels.
•Usedprimarilyfordefiningandanalyzingdatarequirementssupportingdatabase
designsordatarepositoriestypicallyfoundinbusinesssoftware,wheredatais
activelymanagedasabusinesssystemsresourceorasset.

Software Engineering Methodologies (Cont.)
Object-Oriented Analysis and Design Methods:
•Theobject-orientedmodelisrepresentedasacollectionofobjectsthat
encapsulatedataandrelationshipsandinteractwithotherobjectsthrough
methods.
•Objectsmaybereal-worlditemsorvirtualitems
•Thesoftwaremodelisconstructedusingdiagramstoconstituteselectedviewsof
thesoftware.
•Progressiverefinementofthesoftwaremodelsleadstoadetaileddesign.

Software Engineering Methodologies (Cont.)
•Thedetaileddesignistheneitherevolvedthroughsuccessiveiterationor
transformed(usingsomemechanism)intotheimplementationviewofthe
model.
Prototyping Methods
•Softwareprototypingisanactivitythatgenerallycreatesincompleteorminimally
functionalversionsofasoftwareapplication,
•Usuallythemethodusedfortryingoutspecificnewfeatures,solicitingfeedback
onsoftwarerequirementsoruserinterfaces,furtherexploringsoftware
requirements,softwaredesign,andothercases.

Software Engineering Methodologies (Cont.)
•Thesoftwareengineerselectsaprototypingmethodtounderstand
theleastunderstoodaspectsorcomponentsofthesoftwarefirst;
•Theprototypingapproachisincontrastwithothersoftware
engineeringmethodsthatusuallybegindevelopmentwiththemost
understoodportionsfirst.
•Prototypedproductdoesnotbecomethefinalsoftwareproduct
withoutextensivedevelopmentreworkorrefactoring.

Software Engineering Methodologies (Cont.)
PrototypingStyle:Thisaddressesthevariousapproachestodevelopprototypes.
•Thestylechosenisbasedonthetypeofresultstheprojectneeds,thequalityof
theresultsneeded,andtheurgencyoftheresults.
PrototypingTarget:Thetargetoftheprototypeactivityisthespecificproductbeing
servedbytheprototypingeffort.
•Examplesofprototypingtargetsincludearequirementsspecification,an
architecturaldesignelementorcomponent,analgorithmetc.

Software Engineering Methodologies (Cont.)
PrototypingEvaluationTechniques:Aprototypemaybeusedorevaluatedina
numberofwaysbythesoftwareengineerorotherprojectstakeholders.
•Primarilybytheunderlyingreasonsthatledtoprototypedevelopmentinthefirst
place.
•Prototypesmaybeevaluatedortestedagainsttheactualimplementedsoftware
oragainstatargetsetofrequirements(forexample,arequirementsprototype)
•Theprototypemayalsoserveasamodelforafuturesoftwaredevelopment
effort(forexample,asinauserinterfacespecification).

Software Engineering Methodologies (Cont.)
Agile Methods
•Considered lightweight methods in that they are characterized by
❑Short,
❑Iterative development cycles,
❑Self-organizing teams,
❑Simpler designs,
❑Code refactoring,

Software Engineering Methodologies (Cont.)
-Test-driven development,
-Frequent customer involvement, and
-An emphasis on creating a demonstrable working productwith each
development cycle.
Some of the more popular approaches of Agile Methods are
•Rapid Application Development (RAD), eXtremeProgramming (XP), and Scrum

Software Engineering Methodologies (Cont.)
RAD:
•Rapid software development methods are used primarily in data-intensive,
business systems application development.
•The RAD method is enabled with special-purpose database development tools
used by software engineers to quickly develop, test, and deploynew or modified
business applications.

Software Engineering Methodologies (Cont.)
XP:
•Thisapproachusesstoriesorscenariosforrequirements,develops
testsfirst,hasdirectcustomerinvolvementontheteam(typically
definingacceptancetests),usespairprogramming,andprovidesfor
continuouscoderefactoringandintegration.
•Eachincrementofsoftwareistestedwithautomatedandmanual
tests
•Anincrementmaybereleasedfrequently,suchaseverycoupleof
weeksorso.

Software Engineering Methodologies (Cont.)
Scrum:
•Thisagileapproachismoreprojectmanagement-friendlythanthe
others.
•Thescrummastermanagestheactivitieswithintheproject
increment;eachincrementiscalledasprintandlastsnomorethan
30days.
•AProductBacklogItem(PBI)listisdevelopedfromwhichtasksare
identified,defined,prioritized,andestimated.
•Aworkingversionofthesoftwareistestedandreleasedineach
increment.
•Dailyscrummeetingsensureworkismanagedtoplan.

Software Development
Paradigm
(Process Models)

Software Development Paradigm
•Is a strategy to develop the software
•They are not mutually exclusive and are often used together
➢WATERFALL MODEL
➢ITERATIVE MODEL
➢PROTOTYPING MODEL
➢SPIRAL MODEL

•Thesimplestprocessmodel
•AllthephasesofSDLCwillfunctiononeafteranotherinlinearmannerwhen
thefirstphaseisfinishedthenonlythesecondphasewillstart
•Assumesthateverythingiscarriedoutperfectlyasplannedintheprevious
stage
•Doesnotallowusgobackandundoorredoouractions.
•Documentationisproducedateachphasethismakestheprocessvisibleso
managerscanmonitorprogressagainstthedevelopmentplan.
Waterfall Model

•CyclicmannerrepeatingeverystepaftereverycycleofSDLC
process.
•Thesoftwareisfirstdevelopedonverysmallscaleandthen,on
everynextiteration,morefeaturesandmodulesaredesigned,
coded,testedandaddedtothesoftware.
•Everycycleproducessoftware,whichiscompleteinbyitself
andhasmorefeaturesandcapabilitiesthanthatofthe
previousone
•Easiertomanagethedevelopmentprocessbutitconsumes
moreresources.
Iterative Model

•Prototype:Implementationofsystemhavinglimitedfunctionalcapabilities,
lowreliability,andinefficientperformancecomparedtotheactualsoftware.
•Stepwiseapproachtodesignasoftwareprototype
➢BasicRequirementIdentification
➢DevelopingtheinitialPrototype
➢ReviewofthePrototype
➢ReviseandenhancethePrototype
Prototyping Model

•Itlikeaspiralwithmanyloops
•Hasfourphasesandthesoftwareprojectrepeatedlypassesthroughthese
phasesiniterationscalledSpirals
•Eachloopofthespiralrepresentsaphaseofthesoftwareprocess
•Eachphaseinthismodelare(thefoursectors/quadrants)
➢Firstquadrant(Identification/ObjectiveSetting)
➢SecondQuadrant(Design)
➢ThirdQuadrant(ConstructorBuild)
➢FourthQuadrant(EvaluationandRiskAnalysis)
Spiral Model

Identification-PhaseOne
•startswithgatheringthebusinessrequirementsinthebaselinespiral.Inthe
subsequentspiralsastheproductmatures,identificationofsystem
requirements,subsystemrequirementsandunitrequirementsarealldonein
thisphase.
•Thisalsoincludesunderstandingthesystemrequirementsbycontinuous
communicationbetweenthecustomerandthesystemanalyst.
Design–PhaseTwo
•Designphasestartswiththeconceptualdesigninthebaselinespiraland
involvesarchitecturaldesign,logicaldesignofmodules,physicalproduct
designandfinaldesigninthesubsequentspirals.

ConstructorBuild-PhaseThree
•Productionoftheactualsoftwareproductateveryspiral.Inthebaselinespiralwhen
theproductisjustthoughtofandthedesignisbeingdevelopedaPOC(Proofof
Concept).
•Theninthesubsequentspiralswithhigherclarityonrequirementsanddesigndetails
aworkingmodelofthesoftwarecalledbuildisproducedwithaversionnumber.
•Thesebuildsaresenttocustomerforfeedback.
EvaluationandRiskAnalysis-PhaseFour
•RiskAnalysisincludesidentifying,estimating,andmonitoringtechnicalfeasibilityand
managementrisks,suchasscheduleslippageandcostoverrun.
•Aftertestingthebuild,attheendoffirstiteration,thecustomerevaluatesthe
softwareandprovidesfeedback.

Chapter Five
Introduction to Computer Networks
1

Contents
•Basics of Data Communication
•Data Transmission
•Communication Mode
•Computer Networks and Its Application
•Types of Networks
•Network Models and Topologies
•Transmission Media
•The Internet and Web Concept
2

Basics of Data communication
•Thetermtelecommunicationmeanscommunicationatadistance
•Theworddatareferstoinformationpresentedinwhateverformis
agreeduponbythepartiescreatingandusingthedata
•Datacommunicationsaretheexchangeofdatabetweentwodevices
viasomeformoftransmissionmediumsuchasawirecable.
3

Basics of Data communication (Cont.)
Theeffectivenessofadatacommunicationsystemdepends
onfourfundamentalcharacteristics:
1.Delivery:Thesystemmustdeliverdatatothecorrect
destination.
•Datamustbereceivedbytheintendeddeviceoruserand
onlybythatdeviceoruser.
2.Accuracy:Thesystemmustdeliverthedataaccurately.
4

Basics of Data communication (Cont.)
3.Timeliness:Thesystemmustdeliverdatainatimelymanner.
•Datadeliveredlateareuseless.
4.Jitter:Jitterreferstothevariationinthepacketarrivaltime.
•Itisanunevendelayinthedeliveryofaudioorvideopackets.
Example:Forexample,letusassumethatvideopacketsaresent
every30ms.Ifsomeofthepacketsarrivewith30-msdelayand
otherswith40-msdelay,anunevenqualityinthevideoisthe
result.
5

Data Communication Component
•Thefollowingarethebasiccomponentsforworkingacommunication
system.
1.Transmitter (Sender),
2.Receiver,
3.Medium,
4.Message, and
5.Protocol
6

Data Communication Component (Cont.)
1. Transmitter (Sender): is the device that sends the message.
•It can be a computer, workstation, telephone handset, video camera,
and so on.
2. Receiver: is the device that receives the message.
•It can be a computer, workstation, telephone handset, television, and
so on.
3. Medium: The transmission medium is the physical path by which a
message travels from senderto receiver.
•It can consist of twisted pair wire, coaxial cable, fiber-optic cable, laser
or radio waves (terrestrial or satellite microwave).
7

Data Communication Component (Cont.)
4. Message: The message is the transmission (data) to be
communicated.
•It can consist of text, number, pictures, sound, or videoor any
combination of these.
5. Protocol: A protocol is a set of rules that governs data
communication.
•It represents an agreement between the communicating devices.
•Without a protocol, two devices may be connectedbut not
communicating.
•Just as a person speaking Germancannot be understood by a person
who speaks only Japanese.
8

Communication mode
•Communication mode refers to the how the data transfer between
two devices.
•Communication between two devices can be simplex, half-duplex, or
full-duplex.
9

i.Simplex
•In this mode the communication is unidirectional, as on a one-way
street.
•Only one of the two devices on a link can transmit; the other can only
receive (see Figure 2 a).
•Keyboardsand traditional monitors are examples of simplex devices.
•The keyboard can only introduce input; the monitor can only accept
output.
•The simplex mode can use the entire capacity of the channel to send
data in one direction.
10

ii.Half-Duplex
•Each station can both transmitand receive, but not at the same time.
•When one device is sending, the other can only receive, and vice versa
(see Figure 2 b).
•The half-duplex mode is like a one-lane road with traffic allowed in
both directions. When cars are traveling in one direction, cars going
the other way must wait.
•The entire capacity of a channel is taken over by whichever of the two
devices is transmitting at the time.
•Walkie-talkiesand CB (citizens band) radios are both half-duplex
systems.
11

iii.Full-Duplex
•Both stationscan transmitand receivesimultaneously.
•Is like a two-way street with traffic flowing in both directions at the
same time.
•Signals going in one direction share the capacity of the link with signals
going in the other direction.
•This sharing can occur in two ways:
i.Either the link must contain two physically separate transmission
paths, one for sendingand the other for receiving;
ii.Or the capacity of the channel is divided between signalstraveling
in both directions.
12

iii.Full-Duplex (Cont.)
•One common example of full-duplex communication is the telephone
network.
•When two people are communicating by a telephone line, both can
talkand listenat the same time.
13

Computer Networks
•A computer network is the interconnectionof various computer
systems located at different places.
•In a computer network, two or more computers are linked together
with a medium and data communication devices for the purpose of
communicating data and sharing resources.
•The computer that provides resources to other computers on a
network is known as a server.
•In the network, the individual computers, which access shared
network resources, are known as nodes.
14

Network Representations
Network diagrams, often called topology
diagrams, use symbols to represent devices
within the network.
Important terms to know include:
•Network Interface Card (NIC)
•Physical Port
•Interface
Note: Often, the terms port and interface
are used interchangeably
15

Application of Computer Networks
Some application of computer networks
•File sharing
•Printer/ peripheral sharing
•Internet connection sharing
•Multi-player games
16

Types of Computer Networks
Network infrastructures vary greatlyin
terms of:
•Size of the area covered
•Number of users connected
•Numberand typesof services available
•Area of responsibility
From an end user’s point of view there
are three basic types:
i.Local Area Network
ii.Wide Area Network
iii.Metropolitan Area Network
Two most common types of networks:
•Local Area Network (LAN) and Wide Area
Network (WAN).
17

Types of Computer Networks (Cont.)
•A LANis a network infrastructure that
spans a small geographical area.
•A WANis a network infrastructure that spans
a wide geographical area.
LAN WAN
Interconnect end devices in a limited area. Interconnect LANs over wide geographical areas.
Administered by a single organization or individual.Typicallyadministered by oneor moreservice providers.
Provide high-speed bandwidth to internal devices.Typically provide slower speed links between LANs.
18

Types of Computer Networks (Cont.)
It is in between LAN& WANtechnologythatcovers
the entirecity.
It uses similar technology asLAN.
It can be a single network such as cable TV
network, or a measure of connectinganumber
of LAN’s on a large network so that resources can
be shared LAN to LAN as well as device todevice.
MAN
19

Network Models
The OSI stands for Open System
Interconnection, which was developed in the
1980s.
It is a conceptual model used for network
communication.
It is not implemented entirely, but it is still
referenced today.
The model consists of seven layers, and each
layer is connectedto the other.
The OSI Model
20

Network Models (Cont.)
The data moves down the OSI model, and each layer adds additional
information.
The data moves down until it reaches the last layer of the OSI model.
When the data is received at the last layer of the OSI model, then the data is
transmitted over the network.
Once the data is reached on the other side, then the process will get reversed.
TCP/IP Model
The TCP model stands for Transmission Control Protocol, whereas IPstands for
Internet Protocol.
A number of protocols that make the internet possibly comes under the TCP/IP
model.
21

TCP/IP Model (Cont.)
Nowadays, we do not hear the name of the TCP/IP model much, we generally
hear the name of the IPv4or IPv6, but it is still valid.
This model consists of 4 layers. Now, we will look at the diagrammatic
representation of the TCP/IP model.
22

Network Models (Cont.)
Computers in a network have to be connected in some logical manner.
The layout pattern of the interconnections between computers in a network is
called Network Topology.
Some of the network topologies is mentioned below.
23

Bus Topology
Uses one main cable to which all nodes are directly connected.
The main cable acts as a backbone for the network.
One of the computers in the network typically acts as the computer server.
It is easy to connect a computeror peripheral device.
The cable requirements are relatively small, resulting in lower costs.
One of the disadvantages is that if the main cable breaks, the entire
network goes down.
This type of network is also difficult to troubleshoot.
For these reasons, this type of topology is not used for large networks.
24

Star Topology
Each computer is connected to a central hub using a point-to-point connection.
The central hub can be a computer server that manages the network.
It is very popular because the startup costs are low.
It is also easy to add new nodes to the network.
The network is robust in the sense that if one connection between a computer
and the hub fails, the other connections remain intact.
If the central hub fails, however, the entire network goes down.
It also requires more cable than bus topology and is, therefore, more expensive.
25

Ring Topology
The computers in the network are connected in a circular fashion, and the
data travels in one direction.
This type of network is easy to installand manage.
If there is a problem in the network, it is easy to pinpoint which connection is
defective.
It is also good for handling high-volume traffic over long distances since every
computer can act as a booster of the signal.
On the downside, adding computers to this type of network is more
cumbersome, and if one single computer fails, the entire network goes down.
26

Mesh Topology
In a mesh topology, every node has a direct point-to-point connection to
every other node.
Because all connections are direct, the network can handle very high-
volume traffic.
It is also robustbecause if one connection fails, the others remain intact.
Security is also high since data travels along a dedicated connection.
27

TransmissionMedia
Two maincategories:
Guided ― wires,cables
Unguided ― wireless transmission, e.g. radio, microwave, infrared,
sound,sonar
We will concentrate on guided mediahere:
Twisted-Paircables:
➢Unshielded Twisted-Pair (UTP)cables
➢Shielded Twisted-Pair (STP)cables
Coaxialcables
Fiber-opticcables
28

TransmissionMedia (Cont.)
Twisted-PairCables
If the pair of wires are not twisted, electromagnetic noises from, e.g., motors,
will affect the closer wire more than the further one, thereby causingerrors
29

TransmissionMedia (cont.)
Unshielded Twisted-Pair(UTP)
Typically wrapped inside a plastic cover (formechanicalprotection)
A sample UTP cable with 5 unshielded twisted pairs ofwires
MetalInsulator
30

TransmissionMedia (Cont.)
Shielded Twisted-Pair(STP)
STPcablesaresimilartoUTPcables,exceptthereisametalfoilorbraided-metal-meshcover
thatencaseseachpairofinsulatedwires
31

TransmissionMedia (Cont.)
CoaxialCables
In general,coaxial cables, orcoax, carry signals of higher freq (100KHz–500MHz) than UTP
cables
Outer metallic wrapping serves both as a shield against noise and as the second conductor
that completes the circuit
32

TransmissionMedia (Cont.)
Fiber-OpticCables
Light travels at 3x10
8 ms
-1 in free space and is the fastest possible speed in theUniverse
Light slows down in denser media, e.g.glass
Refractionoccurs at interface, with light bendingaway
from the normal when it enters a less densemedium
Beyond thecriticalangletotal internalreflection
33

TransmissionMedia (Cont.)
Fiber-OpticCables
An optical fiber consists of a core (denser material) and a cladding (less densematerial)
Simplest one is a multimode step-index opticalfiber
Multimode = multiple paths, whereas step-index = refractive index follows a step-
function profile (i.e. an abrupt change of refractive index between the core and the
cladding)
Light bounces back and forth along thecore
Common light sources: LEDs andlasers
34

TransmissionMedia (Cont.)
Fiber-OpticCables
An optical fiber consists of a core (denser material) and a cladding (less densematerial)
Simplest one is a multimode step-index opticalfiber
Multimode = multiple paths, whereas step-index = refractive index follows a step-
function profile (i.e. an abrupt change of refractive index between the core and the
cladding)
Light bounces back and forth along thecore
Common light sources: LEDs andlasers
35

TransmissionMedia (Cont.)
Unbounded/Unguided Transmission Media
•Unguided or wireless media sends the data through the air (or water), which is available
to anyone who has a device capable of receiving them.
•Types of unguided/ unbounded media are
Radio Transmission
Microwave Transmission
36

The Internet
The internet is a worldwide collection of
interconnected LANsand WANs.
•LANsare connected to each other using
WANs.
•WANsmay use copper wires, fiber optic
cables, and wireless transmissions.
•The internet is not owned by any
individual or group.
•The following groups were developed to
help maintain structure on the internet:
❑IETF
❑ICANN
❑IAB
37

The Internet-Based Service
Some of the basic services available to Internet users are −
• Email− a fast, easy, and inexpensive way to communicate with other Internet
users around the world.
• Telnet− allows a user to log into a remote computer as though it were a local
system.
• FTP− allows a user to transfer virtually every kind of file that can be stored on
a computer from one Internet-connected computer to another.
• World Wide Web (WWW) − A hypertext interface to Internet information
resources.
38

Limitation of Internet
•Theft of Personal information
•Negative effects on family communication
•Internet addiction
•Children using the Internet
•Virus threat
•Spamming
39

The Web Concept
•Each page available on the website is called a web page.
•The first page of any website is called the home page for that site.
What is WWW?
•WWW stands for World Wide Web.
•A technical definition of the World Wide Web is − All the resources and users
on the Internet that are using the Hypertext Transfer Protocol HTTP.
•TheWorldWideWebisawayofexchanginginformationbetweencomputers
ontheInternet,tyingthemtogetherintoavastcollectionofinteractive
multimediaresources
40

The Web Concept (Cont.)
WhatisHTTP?
•HTTPstandsforHypertextTransferProtocol.
•Thisistheprotocolbeingusedtotransferhypertextdocumentsthatmakethe
WorldWideWebpossible.
•AstandardwebaddresssuchasYahoo.comiscalledaURLandherethe
prefixHTTPindicatesitsprotocol.
What is a URL?
•URL stands for Uniform Resource Locator.
•Used to specify addresses on the World Wide Web.
•A URL is the fundamental network identification for any resource connected to
the web.
41

The Web Concept (Cont.)
AURLwillhavethefollowingformat
•Theprotocolspecifieshowinformationistransferredfromalink.
•TheprotocolusedforwebresourcesisHyperTextTransferProtocol(HTTP)
•OtherprotocolscompatiblewithmostwebbrowsersincludeFTP,telnet,
newsgroups,andGopher.
•The protocol is followed by a colon, two slashes, and then the domain name.
•The domain name is the computer on which the resource is located.
•Links to particular files or subdirectories may be further specified after the
domain name.
•The directory names are separated by single forward slashes.
42

The Web Concept (Cont.)
WhatisaWebServer?
•EveryWebsitesitsonacomputerknownasaWebServer.
•ThisserverisalwaysconnectedtotheInternet.
•EveryWebserverthatisconnectedtotheInternetisgivenauniqueaddress
madeupofaseriesoffournumbersbetween0and256separatedby
periods(IPaddress).
•Forexample,68.178.157.132or68.122.35.127.
WhatisaWebBrowser?
•WebBrowsersaresoftwareinstalledonyourPC.
•ToaccesstheWebyouneedwebbrowsers,suchasNetscapeNavigator,
MicrosoftInternetExplorer,orMozillaFirefox.
43

The Web Concept (Cont.)
WhatisSMTPServer?
•SMTPstandsforSimpleMailTransferProtocolServer.
•Thisservertakescareofdeliveringemailsfromoneservertoanother
server.
•Whenyousendanemailtoanemailaddress,itisdeliveredtoitsrecipient
byanSMTPServer.
WhatisISP?
•ISPstandsforInternetServiceProvider.
•Theyarethecompanieswhoprovideyouserviceintermsofinternet
connectiontoconnecttotheinternet.
•YouwillbuyspaceonaWebServerfromanyInternetServiceProvider.
•ThisspacewillbeusedtohostyourWebsite.
44

Chapter SIX
Computer System Security
1

Contents
•Basics of Data privacy
•An overview of computer system security
•Types of security threats
•Computer security policies
•Computer Security Practices
2

What is Data Privacy?
•Data privacy generally means the ability of a person to determine for
themselves :
❑When
❑How, and
❑To what extent personal information about them is shared with or
communicated to others.
•This personal information can be one's name, location, contact
information, or online or real-world behavior.
•Just as someone may wish to exclude people from a private conversation,
many online users want to control or prevent certain types of personal
data collection.
3

Why is Data Privacy Important?
•Data privacy is also important because in order for individuals to be
willing to engage online,
•They have to trust that their personal data will be handled with care.
•Organizations use data protection practices to demonstrate to their
customersand usersthat they can be trusted with their personal
data.
•Personal data can be misusedin a number of ways if it is not kept
private or if people don’t have the ability to control how their
informationis used:
4

Why is Data Privacy Important? (Cont.)
•Criminals can use personal data to defraudor harassusers
•Entities may sell personal data to advertisersor other outside parties
without user consent, which can result in users receiving unwanted
marketingor advertising
•When a person's activities are tracked and monitored, this may
restrict their
-ability to express themselves freely, especially under repressive
governments
5

What are Fair Information Practices?
•Many of the existing data protection laws are based on foundational
privacy principles and practices, such as those laid out in the Fair
Information Practices.
•The Fair Information Practices is a set of guidelines for data collection
and usage. Some of the practices are
•Collection limitation: There should be limits to how much personal
data can be collected
•Data quality: Personal data, when collected, should be accurateand
related to the purpose it is being used for
•Purpose specification: The use for personal data should be specified
6

What are Fair Information Practices? (Cont.)
•Use limitation: Data should not be used for purposes other than
what was specified
•Security safeguards: Data should be kept secure
•Openness: Personal data collection and usage should not be kept
secret from individuals
•Individual participation: Individuals have a number of rights,
including the right to know who has their personal data, to have their
data communicated to them, to know why a request for their data is
denied, and to have their personal data correctedor erased
•Accountability: Anyone who collects data should be held accountable
for implementing these principles
7

Computer Security
•Computer security basically is the protection of computer systems and
informationfrom harm, theft, and unauthorized use.
•It is the process of preventingand detectingunauthorized use of your
computer system.
•There are various types of computer security which is widely used to
protect the valuable information of an organization
•One way to ascertain the similaritiesand differencesamong Computer
Security is by asking what is being secured. For example,
•Information security is securing information from unauthorized access,
modification& deletion
•Application Security is securing an application by building security features
to prevent from Cyber Threats such as SQL injection, DoSattacks, data
breachesand etc.
8

Computer Security (Cont.)
•Computer Security means securing a standalone machine by keeping
it updated and patched
•Network Security is by securing both the software and hardware
technologies
•Cybersecurityis defined as protecting computer systems, which
communicate over the computer networks
•It’s important to understand the distinction between these words,
though there isn’t necessarily a clear consensus on the meanings and
the degree to which they overlapor are interchangeable.
9

Components of Computer System
•Computer security is mainly concerned with three main areas also known as the
CIA Triad
•Confidentialityis ensuring that information is availableonlyto the intended
audience (prevent sensitive information from unauthorized access attempts.)
•Integrityinvolve maintaining consistency, accuracy and trustworthiness of data
over its entire lifecycle (data cannot be altered by unauthorized person)
•Availabilityinformation should be consistentlyand readilyaccessible for
authorized parties.
10

Computer Security Threats
•Computer security threats are possible dangers that can possibly hamper
the normal functioning of your computer.
•In the present age, cyber threats are constantly increasing as the world is
going digital.
•The most harmful types of computer security threats are:
Virus
•Is a malicious program which is loaded into the user’s computer without
user’s knowledge.
•It replicates itself and infects the filesand programson the user’s PC.
•The ultimate goal of a virus is to ensure that the victim’s computer will
never be able to operate properly or even at all.
11

Computer Security Threats (Cont.)
Computer Worm
•A computer worm is a software program that can copy itself from one
computer to another, without human interaction.
•The potential risk here is that it will use up your computer hard disk space
because a worm can replicate in greater volume and with great speed.
Phishing
•Disguising as a trustworthy person or business, phishers attempt to steal
sensitive financial or personal information through fraudulent email or
instant messages.
•Phishing in unfortunately very easy to execute.
•You are deluded into thinking it’s the legitimate mail and you may enter
your personal information.
12

Computer Security Threats
Rootkit
•A rootkit is a computer program designed to provide continued privileged
access to a computer while actively hiding its presence.
•Once a rootkit has been installed, the controller of the rootkit will be able to
remotely execute filesand change system configurations on the host machine.
Keylogger
•Also known as a keystroke logger
•Keyloggerscan track the real-timeactivity of a user on his computer.
•It keeps a record of all the keystrokes made by user keyboard.
•Keyloggeris also a very powerful threat to steal people’s login credential such
as usernameand password.
13

Computer Security Policies
•In a way they are the regulatory of the behaviors of your employees
towards the use of technology in the workplace,
•That can minimize the risk of being hacked, information leak, internet
bad usage and it also ensures safeguarding of company resources.
•In real life you will notice the employees of your organization will always
tend to click on bador virus infected URL’sor email attachments with
viruses.
•Role of the Security Policy in Setting up Protocols
14

Computer Security Policies (Cont.)
Following are some pointers which help in setting you protocols for the
security policy of an organization.
•Who should have access to the system?
•How it should be configured?
•How to communicate with third parties or systems?
•Policies are divided in two categories −
i. User policies
ii. IT policies
15

Computer Security Policies (Cont.)
•User policies generally define the limitof the users towards the computer resources in a
workplace.
•For example, what are they allowed to install in their computer, if they can use removable
storages.
•Whereas, IT policies are designed for IT department, to secure the procedures and functions
of IT fields.
•Some of the IT policies
General Policies − This is the policy which defines the rights of the staff and access level to the
systems.
•Generally, it is included even in the communication protocol as a preventive measure in case
there are any disasters.
Server Policies − This defines who should have access to the specific serverand with what
rights.
•Which software’s should be installed, level of access to internet, how they should be
updated.
16

Computer Security Policies (Cont.)
Firewall Access and Configuration Policies − It defines who should have access to the
firewall and what type of access, like monitoring, rules change.
•Which portsand servicesshould be allowed and if it should be inbound or
outbound.
•Backup Policies − It defines
❑Who is the responsibleperson for backup,
❑What should be the backup,
❑Where it should be backed up,
❑How long it should be keptand the frequency of the backup.
VPN Policies − These policies generally go with the firewall policy
•It defines those users who should have a VPN access and with what rights.
•For site-to-site connections with partners, it defines the access level of the partner
to your network, type of encryption to be set
17

Structure of a Security Policy
•When you compile a security policy you should have in mind a basic
structure in order to make something practical.
•Some of the main points which have to be taken into consideration are −
❑Descriptionof the Policyand what is the usage for?
❑Where this policy should be applied?
❑Functionsand responsibilitiesof the employees that are affected by
this policy.
❑Procedures that are involvedin this policy.
❑Consequencesif the policy is not compatible with company standards.
18

Types of Polices
•Permissive Policy − It is a medium restriction policy where we as an
administrator blockjust some well-known ports of malware regarding internet
accessand just some exploits are taken in consideration.
•Prudent Policy − This is a high restriction policy where everything is blocked
regarding the internet access, just a small list of websites are allowed, and
now extra services are allowed in computers to be installed and logs are
maintained for every user.
•Acceptance User Policy − This policy regulates the behavior of the users
towards a systemor networkor even a webpage, so it is explicitly said what a
user can do and cannot in a system. Like are they allowed to share access
codes, can they share resources, etc.
19

Types of Polices (Cont.)
•Information Protection Policy − This policy is to regulate access to
information, hot to process information, how to storeand how it should
be transferred.
•Remote Access Policy − This policy is mainly for big companies where the
user and their branches are outside their headquarters.
•It tells what should the users access, when they can work and on which
software/ protocol like SSH, VPN, RDP.
20

Computer Security Practices
•Computer security threats are becoming relentlessly inventive these days.
•There is much need for one to arm oneself with information and resourcesto
safeguard against these complex and growing computer security threats and stay
safe online.
Some preventivesteps you can take include:
• Installing reliable, reputablesecurity and anti-virus software
• Activating your firewall, because a firewall acts as a securityguard between the
internet and your local area network
• Stay up-to-date on the latest software and news surrounding your devices and
perform software updates as soon as they become available
• Avoid clicking on email attachments unless you know the source
• Change passwords regularly, using a unique combination of numbers, lettersand
case types
21

Computer Security Practices (Cont.)
•Use the internet with cautionand ignore pop-ups, drive-by downloads
while surfing
•Taking the time to research the basic aspects of computer security and
educate yourself on evolving cyber-threats
•Perform daily full system scans and create a periodic system backup
schedule to ensure your data is retrievableshould something happen to
your computer.
22
Tags