CSC 480 Software Engineering Lecture 1 August 18, 2004
CSC Fall /18/2004 Topics Welcome to CSC 480 Course Roadmap Introduction to Software Engineering
CSC Fall /18/2004 Goals SE activities and processes Object orientation: concepts and principles Team-based projects leading to working applications Team activities and role playing Advanced programming/system development techniques
CSC Fall /18/2004 Textbook & References Object-Oriented Software Engineering: Using UML, Patterns, and Java, 2 nd Ed. Bruegge & Dutoit. Prentice Hall, 2004
CSC Fall /18/2004 Special Features Put ideas into reality conceptualization specification high-level and detailed design implementation & testing next iteration, if needed Valuable teamwork experience Form a team with a common set of goals Choose a role (or roles) that can match your interest and talent Respect differences and perform as a whole Synergy: C(n) > n * C(1) Healthy competition between teams
CSC Fall /18/2004 Team Lineup – Couch Martin Zhao, PhD Teaching Prog, SE, DB & Mercer Engaged in S/W development and integration using Java Technologies Other background -- computer aided design and modeling Committed to a enjoyable class experience For both you all and me
CSC Fall /18/2004 We Want to Know You... Background: Major Courses taken Strength/interest in computing Programming/system development experience Career goals Expectations for the class Respond to the questionnaire in the handouts folder
CSC Fall /18/2004 Team Lineup – Players Belyeu, Jesse Brothers, Anthony D Carlton, Cassie Cartwright, Charles Chatham Charles Collier, Thomas Destevens, Lucas
CSC Fall /18/2004 Team Lineup – Players (cont’d) Edmonds, Christopher Fincher, Robert Wesley Gibby, Patrick A Hartley, Drew N. Lo, Jason Thurman, Willie
CSC Fall /18/2004 Course Roadmap Lectures – show you how it works the 1 st time Processes & team issues Methodologies (e.g., OOAD using UML) Special topics (e.g., multithreading, DB connectivity) Practices – walk you through the 2 nd time Workshops Exposure to new technologies Homework Topics may not be directly covered in workshops
CSC Fall /18/2004 Course Roadmap (cont’d) Team projects –you are on your own the 3 rd time OOAD - thinking and using objects Plans, logs, and documentation – doing software engineering Presentations – talking about S/E formally
CSC Fall /18/2004 Score Breakdown Team project450 points Individual homework100 points Workshops100 points One hour exams 100 points each) 300 points Quizzes 50 points
CSC Fall /18/2004 Introduction What is Software Engineering? What is the difference? Computer Science vs. Software Engineering Software Engineering vs. other engineering What activities are involved?
CSC Fall /18/2004 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
CSC Fall /18/2004 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
CSC Fall /18/2004 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
CSC Fall /18/2004 Software Engineering A discipline which Applies mathematical and computer sciences Utilizes (mostly) human intelligence, economically, for the benefit of mankind Based on greatly wise judgment
CSC Fall /18/2004 Software Engineering Vs. CS CS is more on 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!
CSC Fall /18/2004 Software Vs. Other Engineering Software is soft Mostly human intellectual effort Need for physical resources (e.g. raw materials) is usually not the first priority Products are intangible and progress may not be visible With applications in virtual all industries, previous experience may not be easily adopted
CSC Fall /18/2004 The Essence of SE The essence of software engineering is to deliver high-quality software products that can meet clients’ requirements at agreed cost and schedule.
CSC Fall /18/2004 The Four P’s The four P’s in software development People – in different roles working in a team Product – the working software system and associated artifacts Process – a set of activities that is performed in a certain order toward a special purpose Project – a specific instance of building a software product