up↑
 

 

fsu seal


Syllabus
Meeting Times
Instructor
Calendar
References
Pages restricted to registered students
   

Software Engineering II

CEN 4021

This is the second semester of a two-course sequence in software engineering for undergraduate students.

dennis textbook resource link baase textbook resource link

The nominal textbooks for this course are the same as for CEN 4020 Software Engineering II: Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, 3rd Edition, by Dennis, Wixom, Tegarden, and A Gift of Fire, by Sara Baase. However, a large portion of the readings will be materials that are posted on or linked from this website.

Access to most pages requires a userid and password, provided to all registered students by the instructor at the first class meeting.

Software Engineering is a very broad field, that includes a huge body of practical knowledge gained by expermentation of software developers, and a number of competing methods, models, and approaches to the development process. There is no single "right" way among these, and each is somewhat limited in the range of types of applications and environments where it works well. So, in teaching a course one always faces a dilemma of where to focus attention.

The fall 2009 main campus offering of Software Engineering I followed the same outline as the fall 2008 distance and Panama City offerings (distinct from the fall 2008 main campus offering). The classroom emphasis was on UML and the Unified Process -- a model-driven, iterative, object-oriented method of software development -- while the project was on the requirements definition and analysis phases using the Waterfall Model, an older model of software development.

The spring 2009 offering of Software Engineering II continued with the same plan, covering later stages of both the Unified Process and the Waterfall model in class and in project assignments, respectively.

This term we will depart from that plan, in order to study a newer approach to managing software development, called Scrum. Scrum is a variant of agile software development.

Besides studying agile development in class and applying it to a team project, we will also attempt to apply it to the organization of the course itself. This means the details of the course organization, including the content of these web pages, will evolved through an iterative incremental refinement process over the term, through collaboration between the instructor and the students.

T. P. Baker. ($Id)