Professional Documents
Culture Documents
Software Engineering
Dr. Chen
Dr
Chen, Lihui
Division of Information Engineering
School of EEE
EEE, NTU
Phone: (65)
(65)-6790-4484
6790 4484
Office: S1-B1C-96
Email: elhchen@ntu.edu.sg
@
g
Teachingteam&Overview
L t
Lecturers:
Two more Tutors:
A/P. Chen
A/P
Ch LiHui
LiH i
Dr. Tan Hee Beng Kuan
A/P Wang Lipo (week2-6)
(week2 6)
Mr. Arnatovich Yauhen (week2-6)
P t I:
Part
I Week
W k 1-6,
16 T
Tutorial
t i l1
1-5,
5 b
by D
Dr. Ch
Chen Lih
Lihuii
Web Engineering
Project Management
Part II: Week 7-13,
7 13 Tutorial 6
6-12,
12 by Dr.
Dr Tan Hee Beng Kuan
Software Requirements Analysis and Design
Software Testing
References
RogerS.PressmanandDavidLowe,WebEngineering:A
g
g
g
PractitionersApproach,McGraw-Hill, 2009.
BobHughesandMikeCotterell :SoftwareProjectManagement,
5th Edition,McGrawHill,2009.
Edition McGraw Hill 2009
Online:https://NTULearn.ntu.edu.sg
3
SoftwareEngineering
The seminal definition:
[Software engineering is] the establishment and use of
sound engineering principles in order to obtain
economicallyy software
f
that is reliable and works
efficiently on real machines.
TheIEEEdefinition:
Software Engineering: (1) The application of a systematic,
systematic
disciplined, quantifiable approach to the development,
operation,
p
, and maintenance off software;
f
; that is,, the
application of engineering to software. (2) The study of
approaches as in (1).
4
FeaturesofSoftware?
Its characteristics that make it different from other things human
being build.
Features of such logical system:
Software is developed or engineered, it is not manufactured in the
classical sense which has quality problem.
Software doesn't "wear out. but it deteriorates (due to change).
Hardware has bathtub curve of failure rate ( high failure rate in the
b i i
beginning,
th drop
then
d
t steady
to
t d state,
t t then
th cumulative
l ti effects
ff t off
dust, vibration, abuse occurs).
Although
g the industryy is movingg toward componentbased
p
construction (e.g. standard screws and offtheshelf integrated
circuits), most software continues to be custombuilt. Modern
reusable components encapsulate data and processing into
software parts to be reused by different programs. E.g. graphical
user interface, window, pulldown menus in library etc.
5
SoftwareApplications
waterfall
SoftwareDevelopmentProcess
incremental
Requirements:
Processes: tasks to perform
Structure Analysis: model data and process separately
Requirement Analysis:
Modeling Techniques:
(UML)
Propose :
An
A
agile,
il yett disciplined
di i li d framework
f
k for
f
R or W: Student Handbook
Airline reservation
Banking; eShop
(e.g. promotion )
(Insecure media,
media hackers
hackers, encryption)
(high competition)
WebE Process
Must accommodate:
Incremental delivery
Frequent
Frequent changes
Short timeline
Therefore,
An incremental process model should be used in virtually
all situations
An agile process model is appropriate in many situations
6
(what, why )
(core/non-core)
((2 levels )
(fine tune)
( need +
scope )
( function:
f
ti
use case )
( l
(planning)
i )
L1:summary
WhatisSoftEng?
What
is SoftEng ?
SEFeatures;Applications;Processes;modellingTechniques
WhatisWebApp?(
h
b
? (site,function,app)
WebAppAttributes:11keyattributes
WebEngProcess incremental
Communication=>Formulation
Planning
Modeling
Construction
Delivery&Evaluation
Formulation
F
l ti
PreliminaryAnalysis
WebEngTeam
UML: Str+Graph
14
Modeling
UCD, SqD, SD
keyword => select => purchase =>payment
UCD, ActivityD
observable f: highlight
g g
Unobservable f: update
SafeHome
UseCaseDiagram
One actor
11 functions use cases
3 admin; 2 FP
perus e
d e s c r ip t iv e
content
c u s t o m iz e
Sa f e Ho m e
s e le c t
Sa f e Ho m e
c omponent s
<< in c lu d e >>
<< in c lu d e >>
save
c o n f ig u r a t io n
c u s t o m iz a t io n f u n c t io n a lit y
lo g - in t o
Sa f e Ho m e A s s u r e d .c o m
v ie w
s h o p p in g c a r t
< < in c lu d e > >
purc has e
c o n f ig u r a t io n
new c us tomer
<< in c lu d e >>
p r o v id e
purc has e dat a
r e c a ll s a v e d
c o n f ig u r a t io n
(purchasing)
c o m p le t e
Sa f e Ho m e o r d e r
e - c o m m e r c e f u n c t io n a lit y
F i g u r e 1 8 .2 Use -c a se d i a g r a m f o r n e w -c u st o m e r
16
Detail enough
minimize
i i i maintenance
i t
costt
customer will interact with the system and specify the books he wants
functions
u ct o s
time ordering
h
how
to
t reactt
how the interface looks like
SequenceDiagram:
:Room
:FloorPlan
:Billof
Mat erials
FloorPlan
Reposit ory
BoM
Reposit ory
desc ri bes
room *
plac es room
i n f l oor pl an
sav e bi ll of m at erial s
StateDiagram
Validat ing user
select log-in
sy st em st at us=input ready
display msg = ent eruserid
display msg =ent er pswd
password v alidat ed
n e w cu st o m e r
To model dynamic
behavior of WebApp
ent ry / log
log-in
in request ed
do: run user v alidat ion
exit / set user access swit ch
select descript iv e
cont ent
sy st em st at us=input ready
display : basic inst ruct ions
select descript iv e
cont ent
sy st em st at us=input ready
display : roomdef . window
select descript iv e
cont ent
sy st em st at us=
us=input
input ready
display : f loor plan window
ent ry / f loor plan select ed
do: insert room in place
do: st ore f loor plan v ariables
exit / room insert ion complet ed
20b
ActiveInterfacePrototype
Aprototypeshowsthelayoutoftheuserinterface,thecontent,
interactionmechanismsandoverallaesthetic
Supports validation with the client of the requirements and analysis
Supportsvalidationwiththeclientoftherequirementsandanalysis
21
ActivityDiagram
purchase:
h
comp
in it ia liz e
n o
o m
p o n e n t s
r e m
a in
o nB o M
t o t a lC o s t
L is t
in v o k e
c a lc S h ip p in g C o s t
r e t u r n s :
s h ip p in g C o s t
g e t
p r ic e
q u a n t it y
d is c o u n t
a in
o n B o M
L is t
a n d
a d d
lin e C o s t
t o t a lC o s t
d is c
<
r e m
in e D is c o u n t
r e t u r n s :
o u n t
p o n e n t s
lin e C o s t
=
p r ic e
x
q u a n t it y
in v o k e
d e t e r m
d is c
o m
o u n t > 0
t o
t o t a lC o s t =
t o t a lC o s t
d is c o u n t
t a x T o t a l=
t o t a lC o s t
x t a x r a t e
p r ic e T o t a l =
t o t a lC o s t
+
t a x T
+
s h ip p in g C o s t
F i g u r e
. 7
c t i v i t y
d i a g r a m
f o r
o t a l
i c
( )e
i o
23
l
large
DB access, other
th IT applications
li ti
Combinations of H/S
L2:summary
Modeling:Analysis+Designmodeling
AnalysisModeling
Analysis Modeling
Contentmodel:identifyobjects
UseCaseDescription=>ER/ClassD;dataTree;
U C D
i ti
ER/Cl D d t T
Interactionmodel:describeinteractions
Usecases;SeqD(actors/classes;)StateD;Prototype
U
S D(
/ l
)S
D P
Functionalmodel:operation+ob/unobfunctions
UseCaseDescription(Sceneries)=>ActivityDiagram
(
)
Configuremodel:
CombinationsofHardware+Software/Server+Client
Chapter 19
Design Modeling for Web Apps
(artistic + engineering idea )
Analysis(commun)
Problem
what
Q + goals+ non-fs
Design(Modeling)
how
Models
software blueprint
Development
Solution
Testing
Objectives:
Object
es importance;
po ta ce; ttranslation;
a s at o ; p
principles
c p es
Design Rept: data design/rept; arch; interface; procedure design; etc
25
P
Providessufficientinfotoconstructthefinal
id
ffi i t i f t
t t th fi l
WebApp
Consider:alternativesolutions
Assess:effectiveimplementation.
Assess: effective implementation
25a
close related
filtering
cost
b k
backup,
update
d t
26a
Withstand hiccup
p from end-users
next
color
l info
i f rich
i h
operate on diff. os + configurations
no jargon
auto-load in
focus on 1 function
things of past
book catelog
ID, Price
two types of attributes
L3:summary
Modeling:Analysis+Designmodeling
Modeling: Analysis + Design modeling
DesignModeling:
How
Design&WebAppQuality
Security;Availability;Scalability;TimetoMarket
DesignGoals
SixlayersofDesign
Interface:anticipation/comm/consistency/less
effort/multiTasks/learnable/Readability/intelligence
Aesthetic:
A
th ti spaceok/organise/group/noscrollbar/display
/
/
/
/
Content:contentspec+implementationspecific
Architecture:
hi
content+WebApp
Navigation:design& manage the flow control
Component:additionalfunctionsfor localized processing +DB
Bank system
screen + steps
t
to
t complete
l t transaction
t
ti
why complicated: each category interacts diff.
Customers
Custo
e s vs.
s Bank
a managers:
a age s d
different
e e t use cases
(explicit/inexplicit)
additional functionalities
e.g.:
g banking
g system
y
Major Advantages:
make use of local processors => speed up T. /min network usage
min data communications =>
> improve security
41
+usability
object
Flow of trans.
non-functional req.
Loading
oad g
St
Stress
42
right template?
logo
button
mobile;; desktop;
p; laptop
p p
All
business rules;
unobservable functions: update inventory;
Search sth => DB retrieval => show on screen
book catalog
Server
Client
Network
Plot graph
processor, memory?
?
plot the graph
Yes: data inside memory if transaction is not complete
over load => crash=> DB integrity
One of performance T.
3 factors
communicate
i t ?
overflow area
try to avoid
protected?
L4:summary
DesignModelingSixlayersofDesign
Interface;Art;Content;Arch;
Interface; Art; Content; Arch;
TestingWebApp uncovererrors
Thetestingprocess(linktoDesignmodels)
Content;UI;Usability;Compatibility;
Content; UI; Usability; Compatibility;
Componentlevel(functions)
Navigation;Security;Performance;
i i
i
f
Loading;Stress;