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