Presentation is loading. Please wait.

Presentation is loading. Please wait.

Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.

Similar presentations


Presentation on theme: "Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations."— Presentation transcript:

1 Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations

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 Web Site ● Syllabus ● Lecture Notes ● Practice Exam Problems ● Exercises ● Reading assignments ● Announcements 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 Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations


Download ppt "Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations."

Similar presentations


Ads by Google