1 / 27

CSC 480 Software Engineering

CSC 480 Software Engineering. Lecture 1 August 25, 2009. 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

iman
Télécharger la présentation

CSC 480 Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSC 480Software Engineering Lecture 1 August 25, 2009

  2. Topics • Welcome to CSC 480 • Course Roadmap • Introduction to Software Engineering CSC 480 -- Fall 2004

  3. 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

  4. Textbook & References • Object-Oriented Software Engineering Bruegge & Dutoit • Prentice Hall, 2004 CSC 480 -- Fall 2004

  5. 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: P(n) > n * P(1) • Healthy competition between teams CSC 480 -- Fall 2004

  6. Team Lineup – Couch • Martin Zhao, PhD • Teaching Programming, SE, DB & OOAD @ 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 480 -- Fall 2004

  7. 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 480 -- Fall 2004

  8. Team Lineup – Players • CHIP • VAN • TRAVIS • JAMES • BRAD • ADAM • CLINESA • NELU • ERIC • TIM • DERON • MICHAEL CSC 480 -- Fall 2004

  9. Course Roadmap • Lectures – show you how it works the 1st time • Processes & team issues • Methodologies (e.g., OOAD using UML) • Special topics (e.g., client/server, DB connectivity) • Practices – walk you through the 2nd time • Workshops Exposure to new technologies • Homework • Topics may not be directly covered in workshops CSC 480 -- Fall 2004

  10. Course Roadmap (cont’d) • Team projects –you are on your own the 3rd time • OOAD - thinking and using objects • Plans, logs, and documentation – doing software engineering • Presentations – talking about S/E formally CSC 480 -- Fall 2004

  11. Score Breakdown CSC 480 -- Fall 2004

  12. 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

  13. 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 480 -- Fall 2004

  14. 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

  15. Software Is Soft • As described in section 1.2 of your text, SE is • A modeling activity:methodologies • A problem-solving activity:processes and practices • A knowledge acquisition activity: intellectual property • A rational-driven activity: constantly changing req’ts • We will discussed the first two areas in detail with lectures and workshops. It’s important to have the mental set of dealing with the softness of software as reflected in the latter two areas CSC 480 -- Fall 2004

  16. 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 CSC 480 -- Fall 2004

  17. Relationships Among the 4 P’s Project: People performing Processes to produce Product CSC 480 -- Fall 2004

  18. A Closer Look at the 4 P’s CSC 480 -- Fall 2004

  19. Implemented By Expressed in Terms Of Structured By Realized By Verified By class... class... class... ? ? class.... Application Domain Objects Solution Domain Objects Use Case Model Source Code Subsystems Test Cases Software Lifecycle Activities Requirements Elicitation Analysis System Design Object Design Implemen- tation Testing ...and their models CSC 480 -- Fall 2004

  20. Software Lifecycle Definition • Software lifecycle: • Set of activities and their relationships to each other to support the development of a software system • Typical Lifecycle questions: • Which activities should I select for the software project? • What are the dependencies between activities? • How should I schedule the activities? CSC 480 -- Fall 2004

  21. Other Basic SE Concepts • Functional requirements • Nonfunctional requirements • Notation • Method • Methodologies CSC 480 -- Fall 2004

  22. Additional Background Info CSC 480 -- Fall 2004

  23. 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

  24. 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 2009

  25. 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

  26. 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 480 -- Fall 2004

  27. 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

More Related