lecture_01

lecture_01 - SoftwareEngineering CS321 KingaDobolyi 1

Info iconThis preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Software Engineering CS321 Kinga Dobolyi
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Why are you taking this course? n Alternatively, why are we teaching this course? n Do you need a  course  in software engineering? n How is writing the code for a 211 project different from  software engineering (or is it)? n What do you think we will be focusing on in this class?
Background image of page 2
What is Software Engineering? n According to Wikipedia:  “ Software engineering  ( SE ) is a  profession dedicated  to designing,  implementing, and  modifying software so  that it is of  higher quality , more  affordable maintainable , and  faster  to build 3
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
What is Software Engineering? n What is the problem with the previous definition? n A better definition: “SE is the application of a  systematic disciplined quantifiable  approach to the development,  operation, and maintenance of software” – IEEE n Have you been doing this in your classes so far? n Parnas (super famous CS guy) defined software engineering as  the “ multiperson  construction of  multiversion  software” n Your projects so far were (probably) neither multipurpose nor  multiversion 4
Background image of page 4
David Parnas paper, 1978 n Read this  for the next       class period n Ancient by computer       science standards, but… 5
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Software is expensive to maintain n Maintenance activities consume 70-90% of the total lifecycle  cost of software, summing to over $70 billion per year n We want to “get it right” the first time n But as we’ll see this is non-trivial 6
Background image of page 6
7 Why is it so hard? n Lots of “parts”. Many more than mechanical devices n Dishwasher - 128 parts n Car - 14,000 parts n Space shuttle - 2.5 million parts n Red Hat Linux 7.1 - 30 million source lines of code (SLOC) n Mac Office - 30 million SLOC n Using 70 programmers = 428,000 SLOC / programmer n But those are big… what about “normal size programs”? n Average programmer SLOC (Source lines of code) / day = 100 n 5 days/week  * 52 weeks/year = 26,000 SLOC / year n 15 programmer team = 390,000 SLOC / year
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
8 Why is it so hard? (continued) n We’re a young field  n ENIAC/ MARK-I in 1946 n FORTRAN - 1957 n But giant -  As of 2004, the U. S. Bureau of Labor Statistics counts 760,840 software  engineers holding jobs in the U.S.; for comparison, in the U.S. there are some 1.4 million  practitioners employed in all other engineering disciplines combined.  -  http://en.wikipedia.org/wiki/Software_engineering   n Unanticipated growth n Still more art than science n Everything we do is “new”. (We don’t build the exact same house 30  times.)
Background image of page 8
9 The art of software development n Everything we do is “new”. (We don’t build the exact same 
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 45

lecture_01 - SoftwareEngineering CS321 KingaDobolyi 1

This preview shows document pages 1 - 10. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online