1 / 19

Course Overview

Explore fundamental concepts and methods for building high-quality software systems. Topics include development processes, requirements elicitation, design techniques, validation strategies, and project management. Not a programming course.

hfloyd
Download Presentation

Course Overview

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. CourseOverview Software Engineering Foundations Stephen M. Thebaut, Ph.D. University of Florida

  2. Contact Info • Instructor: Steve Thebaut • e-mail: smt@cise.ufl.edu • Teaching Assistant: James Nichols • e-mail: jinichol@cise.ufl.edu

  3. Description • A graduate-level survey of the fundamental concepts and principles underlying current and emerging methods, tools, and techniques for the cost-effective engineering of high-quality software systems. • NOT a “programming” course. • Focuses on surveying critical aspects of SE that may be less familiar to students of computer science. E.g.:

  4. Description (cont’d) • identifying a development process appropriate to the circumstances, • eliciting and documenting requirements, • indentifying appropriate design techniques, • employing effective verification and validation strategies throughout the software development lifecycle, • software maintenance, and • software project management.

  5. Prerequisites • Familiarity with programming using a high-level language (C, C++, Java, etc.) • Basic knowledge of algorithms, data structures (linear lists, etc.), and discrete math (symbolic logic)

  6. Class Logistics • Lectures will be presented by the instructor in the morning based on prepared notes covering the main topics of the course. • In the afternoons, students will prepare for and participate in TA- and student-lead discussions of assigned readings, exercises, and problem sets (schedule to be provided).

  7. Syllabus Lecture Notes Practice Exam Problems Exercises Reading assignments Announcements Web Site Visit the course website at: www.cise.ufl.edu/class/cen5035/SE_founds

  8. Textbooks • SOFTWARE ENGINEERING, 8th Edition, by Ian Sommerville, Addison-Wesley, 2007. • THE MYTHICAL MAN-MONTH, ESSAYS ON SOFTWARE ENGINEERING, Anniversary Edition, by Fred Brooks, Addison Wesley, 1995. • REQUIREMENTS ENGINEERING: QUALITY BEFORE DESIGN, by Donald Gause and Gerald Weinberg, Dorset House Publishing, 1989. ----------------- See the course website for required and recommended readings.

  9. Lecture Topics • Course Overview and Introduction to SE: FAQs about SE, professional and ethical responsibility • Software Processes: process models and activities, waterfall vs. evolutionary development, component-based SE, iteration, spiral development, Rational Unified Process, CASE • Software Project Management: management activities, project planning and scheduling, risk management

  10. Lecture Topics (cont'd) • Software Requirements Engineering: functional vs. non-functional requirements, user and system requirements, interface specification, software requirements documents, feasibility studies, elicitation and analysis, validation, requirements management • Rapid Software Development and Prototyping: agile methods, extreme programming, RAD, software prototyping

  11. Lecture Topics (cont'd) • Formal Specification: formal specification in the software process, sub-system interface (algebraic) specification, behavioral (model-based) specification • Architectural Design: architectural design decisions, system organization and decomposition styles, control styles, reference architectures

  12. Lecture Topics (cont'd) • Distributed Architectures: multiprocessor architectures, client-server architectures, distributed object architectures, inter-organizational distributed computing, service-oriented software engineering • Object- and Aspect-Oriented Design: objects and object classes, information hiding, aspects, join points and point cuts, design evolution • Software Reuse: design patterns, application frameworks, component-based SE

  13. Lecture Topics (cont'd) • Verification and Validation: V&V planning, reviews and inspections, black-box testing, white-box testing, integration and higher-level testing, proofs of correctness • Software Evolution: program evolution dynamics, software maintenance • Process Improvement: process and product quality, CMMI process improvement framework

  14. Examinations and Grades • Course grades will be based solely on: • a 60-minute "mid-term" exam (30%), • a 90-minute comprehensive final exam (50%), and • exercises and afternoon course work (learning activities, discussions, presentations, etc.) (20%) • Grading Scale: A: 90-100% A-: 80-89% B+: 70-79% B: 60-69% B-: 50-59% Failing: 0-49%

  15. Tentative Exam Schedule • The "midterm" exam, scheduled for July 23, covers the first half of the course (i.e., through Distributed & Service-Oriented Systems). • The comprehensive final exam, scheduled for July 31, covers the entire course.

  16. Exam Ground Rules and Format • Exams are closed-book/closed-notes. • No calculators, laptops, PDA’s, etc., are allowed. • All answers should be given in the spaces provided on the exam only. • Question format may be short answer, matching, true/false, fill-in-the-blank, proofs, etc. • The point-value of each question will be given. • See the website for sample exam problems.

  17. "Homework" Exercises • Problem sets/exercises will be posted on the course website. • Students may work in small groups or individually. • Solutions will submitted for evaluation and, in some cases, presented in class.

  18. Questions?

  19. CourseOverview Software Engineering Foundations Stephen M. Thebaut, Ph.D. University of Florida

More Related