Professional Documents
Culture Documents
SEPM Myths and Realities
SEPM Myths and Realities
By Mohsin Sheikh
!omputer Science
Theory Fundamentals
Software Engineering
The practicalities of developing Delivering useful software
is concerned with
Computer
science theories are currently insufficient to act as a complete underpinning for software engineering, BU it is a foundation for practical aspects of software engineering
Electrical Engineering- o satisfy growing power needs "echanical Engineering- o pro#ide $ocomotion !i#il Engineering- o pro#ide Shelter Software Engineering------% &ot 'nown( )s it Effort )s it Si*e )s it !ost )s it ime )s it echnology )s it +ailure
Software
/e#elopment /e#elopment
Effort
"o*illa contains 2 "illion lines of code U&)3 contains 4 million lines of code Windows 5666 contains 768 lines of code SIZE is a BIG Problem
%Software engineering is a,out managing all the sources of comple.ity to produce effecti#e software(
obsolescence
Time
Time
Side effects
Change
Time
Understanda,ility :Ease of Use; A#aila,ility :Access time, downtime; Relia,ility :+ailure Reco#ery; "aintaina,ility :Easy to "anage and "aintain; Afforda,ility :!ost Benefits; /eploya,ility :Easy to "igrate; /isposa,ility :Easy to Remo#e at end of $ifecycle;
Who is )n#ol#ed- %Sta<eholders( !ustomer, Requirement Engineer, Analyst, Pro=ect $ead, Programmer, Business !onsultant etc9
Software Eras
Early years Second era (hird era 1o rth era M lti ser ,istri* ted &owerf l Batch desk'top systems Real'time .imited systems ,ata*ase Em*edded $$& distri* tion /intelligence0 &rod ct software .ow cost &arallel C stom hardware #nternet software Cons mer impact (he fifth era? Clo d comp ting We* 9"5 Smart phones M lti'core
2345
2365
2375
2385
2335
955:
and specification
)ncludes
/omain analysis /efining the pro,lem Requirements gathering
Requirements analysis
Requirements specification
/eciding how the requirements should ,e implemented, using the a#aila,le technology )ncludes@
Systems engineering@ /eciding what should ,e in hardware and what in software Software architecture@ /i#iding the system into su,systems and deciding how the su,systems will interact /etailed design of the internals of a su,system User interface design /esign of data,ases
Programming ?uality
assurance
/eployment "anaging
the process
"yth-Programming is E#erything
)t is sufficient for each type of de#elopment &o need to go inside the de#elopment logics Easy to write code E#erything is already a#aila,le Easy to learn programming practices !oding is the main part of software !ost factors only depends on coding
hen why humans are hired99why not some automated tool for code generationAA99
Why "anpower
he way of writing code , he way of Understanding Pro,lem, he Effort Reduction +eel can only ,e Reali*ed ,y -umansAA his is what ma<e you Unique and Powerful B )f you are una,le to do soA&0 need of yours ")S-U&/ERS A&/)&C in industry99
Bo need to .earns Code !".earn How to Code in an effective manner .et s (ake a look $ver How Code #mpact on #nd stry C ality @al e ;ssessment!"
*rocess impro+ement
*rocess control
"anaged (#)
Feedbac)
*rocess definition
efined (!)
"easurement
*rocess discipline
Repeatable (2)
Initial (1)
Best Practices:
,evelop software iteratively Manage re+ irements Dse component'*ased architect res @is ally model software @erify software + ality Control changes to software
Roughly E6F of costs are de#elopment costs, 46F are testing costs9 +or custom software, e#olution costs often e.ceed de#elopment costs9 !osts #ary depending on the type of system ,eing de#eloped and the requirements of system attri,utes such as performance and system relia,ility9 /istri,ution of costs depends on the de#elopment model that is used9
Specificat ion
Design
Development
Specificat ion
1 00
Specificat ion
Development ems
Development and evolut ion cost s for long-lifet ime syst 0 10 200
30
00
Syst em development
2!
!0
"!
100
Specification
Development
System testing
compose
car
!oncept
A new engine model in an e.isting ,ody model results in a new car model A new engine can ,e designed ,ased on e.isting engines As a summary, parts of a car :or the design of the parts; can ,e used for new cars :or models;9 A necessary condition for the use@ part interface should ,e compati,le9 Reason ,ehind fastest Crowth is
Session -5@ /esign Cuidelines with U"$ "odeling :Rational Rose, Plant U"$ etc;
The Next Frontier - On Demand S olutions For Your B usiness C lo d We* C lient'S erver C omp ting &ersonal C omp ters Mainframe
(hank Ao !
"ail-)/@ mohsin6IerJhotmail9com ",@:KL7; L66LL58L6G