You are on page 1of 28

Software Engineering Myths and Realities

By Mohsin Sheikh

Why SE is Required-Apart from Programming

!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

Why Software as a Engineering Stream


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

What &eeds to ,e -andled with SEP"


)t is !hange and !omple.ity +or -andling
User

!ounts Si*e and 0perating !ost and E.ecution ime

Software

/e#elopment /e#elopment

echnology and ools

Effort

Why Software Engineering is -ard 1


"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(

Software #s9 -ardware


Failure rate Infant mortality Wear out
Failure rate

obsolescence

Time

Time

-ardware failure rates


Failure rate

)deali*ed software failure rates

Side effects

Change

software failure due to change

Time

What &eeds to ,e Managed


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

How it Works Comprehensively ?

Understanding $e#el with Sta<eholders

Are software de#elopers different to other professionals1

What do you think?

What &eeds to ,e )mpro#ed


Technology Training Cost of Development Pay of Engineer Work Task Completion Time Client Interactions Leaders and Experience Persons Directions acations! Company Policies! "etentions of Employee etc# $r %ome improvements over &"e'uirement! Planning! Design! Coding! Testing $r (otivation to do )ll

Aim is towards a Process +ormation

Make the overall process improved


)t automatically guides a product de#elopment which ha#e all the quality characteristics instead of #erifying each product on some quality chec<s9 >udge the system ?uantitati#ely rather than ?ualitati#ely :&umeric "easure of Assessment; Here standards and G idelines comes into play!!" What we have ? #S$% CMM#% S&#CE% &S&'(S& etc )Wide range is availa*le from Re+ irements gathering to ,eployment-

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:

#ncreasing ;mo nts of Software

Steps of Acti#ities !ommon to Software Pro=ects999


Requirements

and specification

)ncludes
/omain analysis /efining the pro,lem Requirements gathering

0,taining input from as many sources as possi,le

Requirements analysis

0rgani*ing the information

Requirements specification

Writing detailed instructions a,out how the software should ,eha#e

Acti#ities !ommon to Software Pro=ects999


/esign

/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

Acti#ities !ommon to Software Pro=ects


"odeling

!reating representations of the domain or the software


Use case modeling Structural modeling /ynamic and ,eha#ioral modeling

Programming ?uality

assurance

Re#iews and inspections esting

/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

Software Engineer is Better than !0/ER


C$,E is not E@ERA(H#BG #t is a &art of S$ME(H#BG

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!"

"aturity $e#els of 0rgani*ations /e#eloping !ode


$ptimi%ing (&)

*rocess impro+ement

*rocess control

"anaged (#)

Feedbac)

*rocess definition

efined (!)

"easurement

*rocess discipline

Repeatable (2)

Integrated end(to(end process

Initial (1)

'asic management control

Rational Unified ProcessD


he Rational Unified ProcessD is a Software Engineering Process9 )t pro#ides a disciplined approach to assigning tas<s and responsi,ilities within a de#elopment organi*ation9 )ts goal is to ensure the production of high-quality software that meets the needs of its end-users, within a predicta,le schedule and ,udget9

Best Practices:

,evelop software iteratively Manage re+ irements Dse component'*ased architect res @is ally model software @erify software + ality Control changes to software

What are the costs of software engineering1

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

Acti#ity cost distri,ution


Wat er fall model 0 2! !0 "! 100

Specificat ion

Design

Development

Int egrat ion and t est ing

It erat ive development 0 2! !0 "! 1 00

Specificat ion

It erat ive development ineering !0 "!

Syst em t est ing

Component -based soft ware eng 0 2!

1 00

Specificat ion

Development ems

Int egrat ion and t est ing

Development and evolut ion cost s for long-lifet ime syst 0 10 200

30

00

Syst em development

Syst em evolut ion

Product de#elopment costs

2!

!0

"!

100

Specification

Development

System testing

Why this industry is on op from the last 7G HearsA9


engine *ody wheels other parts

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

Reusa,ility and !ode Sharing

SEP" S<ill )mpro#ements Sessions


Session -7@!loud ools and Applications

-ands 0n and Practice Sessions

Session -5@ /esign Cuidelines with U"$ "odeling :Rational Rose, Plant U"$ etc;

-ands 0n and heory Session

Session -2@ !oding Standards and Cuidelines

heory and Practice Sessions

Session -4@ esting ools and 0perations

-ands 0n and Practice Sessions

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

&e.t +rontier-!loud ools and echnologies

(hank Ao !
"ail-)/@ mohsin6IerJhotmail9com ",@:KL7; L66LL58L6G

You might also like