280 likes | 483 Views
CSC 480 Software Engineering. Lecture 1 August 21, 2002. Topics. Welcome to CSC 480 Course Roadmap Introduction to Software Engineering. Goals. SE activities and processes Object orientation: concepts and principles Team-based projects leading to working applications
E N D
CSC 480Software Engineering Lecture 1 August 21, 2002
Topics • Welcome to CSC 480 • Course Roadmap • Introduction to Software Engineering CSC 480 -- Fall 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 480 -- Fall 2004
Textbook & References • Software Engineering: An Object-Oriented PerspectiveEric J. Braud. Wiley & Sons, 2001 • Software Development for Small Teams: An RUP-Centric ApproachGary Pollice et al. Addison-Wesley, 2003 • Introduction to the Personal Software Process(PSP), & Introduction to the Team Software Process(TSPi)Watt S. Humphrey. Addison-Wesley, 1997 & 2000 CSC 480 -- Fall 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 480 -- Fall 2004
Team Lineup – Couch • Martin Zhao, PhD • Teaching Prog, SE, DB & OOAD @ Mercer • Engaged in S/W development and integration @ two IT startups • Other background -- computer aided design and modeling • Committed to a enjoyable class experience • For both you all and me CSC 480 -- Fall 2004
We Want to Know You... • Background: • Major • Courses taken • Strength/interest in computing • Programming/system development experience • Career goals • Expectations for the class CSC 480 -- Fall 2004
Team Lineup – Players • Baptiste, Derrick • Boisclair, William C • Doriot, Clint • Dykes, Dawn C • Haeusler, Peggy • Haney, Ricky L • Longsdorf, Thomas W • Luong, Quang V • Michael, Jason CSC 480 -- Fall 2004
Team Lineup – Players (cont’d) • Nance, Micah A • Palmer, Timothy F • Rogers, Charlie R • Roper, Adam R • Scott, Dejuan • Smith, Joshua A • Thorogood, Charles • Wesson, Jamerson D • Young, Nathan S CSC 480 -- Fall 2004
Course Roadmap • Lectures • Processes & team issues (PSP, TSPi, RUP) • Methodologies (e.g., OOAD using UML) • Special topics (e.g., GUI, client-server) • Practices – Do Software Engineering! • Individual and team projects (or workshops) • Logs, documentation, and presentations CSC 480 -- Fall 2004
Individual Assignments • Programs • Essential PSP training • Homework • Topics may not be directly applicable to projects in class • Workshops • Exposure to new technologies CSC 480 -- Fall 2004
Team Assignments • Teams each with four or five developers • Team formation and project selection • Project kick-off and planning • Specification and design • Implementation and testing • Presentation and demonstration • Postmortem – process and peer review CSC 480 -- Fall 2004
Weekly Timesheet • Track your work from Friday to Thursday • Turning in your first timesheet by 08/27 (the 2nd Friday) • Weekly Summary Form • Class cycle: Friday to Thursday • Major accomplishments (up to three) • Issues/problems (up to three) • Turn in printouts and keep your record CSC 480 -- Fall 2004
Score Breakdown CSC 480 -- Fall 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 480 -- Fall 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 480 -- Fall 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 480 -- Fall 2004
Engineering The profession in which a knowledge of the mathematical and natural sciences gained by study, experience, and practice is appliedwith 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 480 -- Fall 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 480 -- Fall 2004
Software Engineering Vs. 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! CSC 480 -- Fall 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 480 -- Fall 2004
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 CSC 480 -- Fall 2004
Essential Activities (cont’d) • Defining the software development process to be used • Managing the development project CSC 480 -- Fall 2004
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) CSC 480 -- Fall 2004
People (by whom it is done) Process (the manner in which it is done) * Project (the doing of it) Product (the application artifacts) CSC 480 -- Fall 2004
Quality • Delivering quality products is at the heart of any engineering • High-quality != perfect • The key is to define the acceptance level • Methods to attain quality level: • Inspection (introduced in chapter 1) • team-oriented process for ensuring quality • applied to all stages of the process. CSC 480 -- Fall 2004
Quality • Methods to attain quality level: (cont’d) • Formal methods(introduced in chapter 1) • mathematical techniques to convince ourselves and peers that our programs do what they are meant to do • applied selectively • Testing • at the unit (component) level (chapter 8) • at the whole application level (chapter 9) • Project control techniques(chapter 2) • predict costs and schedule • control artifacts (versions, scope etc.) CSC 480 -- Fall 2004
Assignments • Read sections 8 & 9 • Propose answers to Ex’s 1 & 2 • 1(b): consider SE and CS • 2: give a sentence or two to describe each of the 4P’s • Propose additional questions that may be asked on materials covered in Introduction of our text CSC 480 -- Fall 2004