Download Lecture Slides on Introduction to Software Engineering | CS 3300 and more Study notes Software Engineering in PDF only on Docsity! 1 CS3300: Introduction to Software Engineering www.cc.gatech.edu/classes/AY2006/cs3300_fall • Ada Gavrilovska (ada@cc) – CCB 222, MW – 1-2pm (may change) • Daniel Popescu (popescu@cc) – TBA • text: Software Engineering, Sommerville, 7th ed. • newsgroup, swiki • reading assignments • midterm and final (20% + 20%) • class participation • project (55%) – you choose project – groups, 3-5 members, different roles – online templates – two entire iterations Software Engineering • Build software – address requirements – adhere to specification – meet constraints • beyond programming… – includes documentation – testing & validation – maintenance • development of large-scale software systems through an explicit methodology, notation, guidelines… – not an art form or a craft 102 - Class exercise 103 - Term project 104 - Compiler 105 - Commercial software product 106 - Mainframe operating system 107 - Strategic Defense Initiative programming effort software engineering effort 2 Software engineering is "(1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software," and "(2) the study of approaches as in (1)." -- IEEE Standard 610.12 • SE certification, licensing • ethics code (confidentiality, competence, IP rights, resource misuse…) Why Software Engineering? • historically – Software Crisis in late 60s – first large-scale software development undertakings, could not deliver functionality, meet requirements, far exceeded costs and time expectations (cowboy methodology) – popularized after 1968 NATO Software Engineering Conference • today – in PC market, software costs >> hardware costs – growth in developed economies is highly software driven/dependent – increase in complexity and demand – heterogeneity, delivery and trust – mission/business-critical – constantly evolving requirements, needs, operating conditions – systems with long lifetimes… How are we doing: