CSC 480 Software Engineering Lecture 1 August 21, 2002
Topics Welcome to CSC 480 Introduction to Software Engineering Course Roadmap
CSC480 Team – Couch Martin Zhao, PhD Teaching Programming I & II, SE, & DB Teaching SE for the third time Engaged in S/W development and two IT startups Committed to a enjoyable class experience For both you all and me
CSC480 Team – Players Brandon Bowden Samson Debass Tim Duncan Stacy Edwards Cindrell Harry Christopher Henderson Charles Lively Oluwdamilola Olutayo Justin Parker
Textbook & References Project-Based Software Engineering Stiller & LeBlanc Addison-Wesley, 2002 Object-Oriented Design & Patterns Horstmann John Wiley & Sons, 2004 References See References Books.doc under our class folder
Introduction What is Software Engineering? What is the difference? Computer Science vs. Software Engineering Software Engineering vs. other engineering What activities are involved?
Software Software is not just the programs! A software system usually consists of Requirement documents Design specifications (diagrams, etc) Programs (code, executables and config data) Installation and user manuals
Engineering The profession in which a knowledge of the mathematical and natural sciences gained by study, experience, and practice … Accreditation Board for Engineering and Technology
Engineering The profession in which a knowledge of the mathematical and natural sciences gained by study, experience, and practice is applied with judgment to develop ways to utilize, economically, the materials and forces of nature for the benefit of mankind -- Accreditation Board for Engineering and Technology, 1996
Software Engineering A discipline which Applies mathematical and computer sciences Utilizes (mostly) human intelligence, economically, for the benefit of mankind Based greatly on wise judgment
Software Engineering & CS CS is more one the theoretical side Theories, methods, etc Essential knowledge for software engineers Software Engineering is practical Applying CS theories and methods Hopefully, in a formal (NOT ad hoc) way Don’t just learn Software Engineering. Do it!
Software & Other Engineering Software is soft Mostly human intellectual effort Needs for physical resources (e.g. raw materials) rank second Products are intangible and progress is not visible Applications to virtually all industries, previous experience may not be easily adopted
Essential Activities Describing the intended software product Designing the product Implementing the product (i.e. programming it) Testing the parts of the product Integrating the parts and testing them as a whole Maintaining the product Defining the software development process to be used Managing the development project
The Four P’s Of SE People Stakeholders in different roles Process The way activities are carried out Project Activities required to produce the artifacts Product All the artifacts (executables, documents, etc)
Process (the manner in which it is done) Product (the application artifacts) People (by whom it is done) * Project (the doing of it)
The Four Variables The sole objective of a software project is to deliver Quality product which can provide Required functionality On schedule, and Under certain costs The reward is business success
Course Roadmap In the class Methodologies (e.g., OOAD using UML) Special topics (e.g., client-server, GUI) Labs & individual assignments Process and project issues Team projects – Do Software Engineering! Carry out project activities as a team Prepare documentation and give presentations
Score Breakdown Team project400 points Labs and individual assignments 200 points One hour exams 100 points each) 200 points Quick quizzes 50 points Final exam150 points
Weekly Timesheet Track your work from Friday to Thursday Turning in your first timesheet by 08/30 (the 2 nd Friday) Weekly Summary Form Class cycle: Friday to Thursday Major accomplishments (up to three) Issues/problems (up to three) Turn in a hardcopy and keep your own record