Software Engineering

 

CS 3354 Section 002, Spring 2012

 

 

Instructor:        Lawrence Chung

 

Office:              ECSS 3.204, ECS, UTD

 

E-mail:             chung@utdallas.edu

 

Phone:             972-883-2178

 

Web page:        http://www.utdallas.edu/~chung/SE/syllabus.htm  (NOT WebCT)

 

Office hours:    TR 1:00-2:30pm, or by appointment

 

Lectures:          TR 10:00-11:15pm, ECSS2.203

 

TA:                   Weimin Ma ,

                        Office: ECSS 3.618; Office hours:  TR 5:30pm-7:30pm

 

Recommended Reading:

           

Software Engineering: A Practitioner's Approach, 6th Edition (or 4th / 5th),       Roger S. Pressman, New York: McGraw-Hill

 

References:

Software Engineering, Ian Sommerville, Addison-Wesley

The Mythical Man-Month, Frederick P. Brooks, Jr., Addison Wesley

The Unified Modeling Language User Manual, G. Booch, J. Rumbaugh and I. Jacobson, Addison-Wesley, 1998.

 

 

Prerequisites:  CS 2305 (Discrete Mathematics for Computing I) & CS 2315  (Computer Science II) or CS 3333

 

Objectives:       Introduction to software life cycle models. Software requirements engineering, formal specification and validation. Techniques for software design and testing. Cost estimation models. Issues in software quality assurance and software maintenance.

 

Computer Usage:

 

You can optionally obtain a trial version of Rational Rose to run the program(s) on your home PC from http://www.rational.com/tryit/index.jsp, demo and online tutorial from http://www.rational.com/tryit/rose/seeit.jsp .  A student version is also available.

If you wish, you can use the facilities at UTD too (ES2.104 on the ground floor in ECS). All PC’s in the labs of UTD are installed with Rational Rose.  There are several open access labs: http://www.utdallas.edu/ir/tcs/labs/locations.htm. You will need to get a user ID for the lab, https://netid.utdallas.edu. Need help? 972-883-2911, assist@utdallas.edu, http://www.utdallas.edu/ir/tcs

 

Project:            There will be a 3-phase project. 

 

Each project phase should be submitted by the expected due date in the beginning of the class that day.  Project phases should be submitted with project phase #, class/section, team name, team URL, (rotating) team leader(s), and for each team member: student name, student ID, student email address,  written on the first page. There should also be a description of all the meeting conducted, and for each meeting: date, location, agenda, participants, and summary.

 

The project will be done by teams of 2-4 students. All students in a team will get the same mark for the work they do unless they unanimously agree (in writing) to an unequal division. You are to choose your own team members. An orphan will be assigned to a team by the instructor.

***N.B: (rotating) team leader selection and role

 

 

Tests:               There will be two tests, one in the middle  (test 1) and the other at the end (test 2)  of  the course.

 

Late work:        Any assigned work will have 10 points deducted for each week passed. 

 

Grading:

Project (3 x 10)

Feb 13; Mar 15; Apr 12

30 %

Test 1

Mar 2

25 %

Test 2

Apr 20

35 %

Presentation/

Project Participation/

Class Participation

 

10 %

 

Important Dates:

 

1.     Jan 9 (Tuesday) - first day of class for this course

 

2.     Feb 13 (Tuesday) – project phase 1 (old: project phase 1); Presentation

 

3.     Mar 1 (Thursday) – test 1

 

4.     Mar 5 (Monday) – Mar 10 (Saturday) – Spring Break

 

5.     Mar 15 (Thursday) – project phase 2 (old: project phase 2); Presentation

 

6.     Apr 12 (Thursday) – project phase 3 ; Presentation (Possible switch and seed insertion, if so desired)

 

7.     Apr 19 (Thursday)  -- last day of class for this course; test 2

 

8.     Apr 24 (Tuesday) – Apr 26 (Thursday) – Final submission and a demo of software (For this, you should set up a time with the TA)

 

 

Cheating/Dishonesty:

 

The University of Texas System Policy on Academic Honesty (The Regents and Regulations, Part One, Chapter VI, Section 3, Paragraph 3.22):

 

Any student who commits an act of scholastic dishonesty is subject to discipline. Scholastic dishonesty includes but is not limited to cheating, plagiarism, collusion, the submission for credit of any work or materials that are attributable in whole or in part to another person, taking an examination for another, any act designed to give unfair advantage to a student or the attempt to commit such acts.

 

     

 

Course Outline (tentative – subject to healthy evolution)

           

1         Introduction to Software Engineering (Chap 1)

2         Software Process Models (Chap 3)

3         Systems Engineering/Requirements Engineering (Chap 6/7)

4         Analysis Modeling (Chap 8)

5         Design Engineering (Chap 9)

6         Architectural Design (Chap 10)

7         Component-Level Design (Chap 11)

8         User Interface Design (Chap 12)

9         Software Testing Strategies/Techniques (Chap 13/14)

10     Product Metrics for Software and Estimation for Software Projects  (Chap 15/22/23)

11     Quality Management (Chap 26)

12     Formal Methods (Chap 28)

--------------------Modules below are to be updated---------------------------------------

_____________________________________________________________________________________

*       Project Management Concepts (Chap 21) - revisit The Mythical Man-Month in Module 1!

 

Relationship of Course Objectives to ABET Objectives (per ABET Forms for Fall 2005):

 

§  Ability to analyze and evaluate software processes (e, k)

§  Ability to establish software requirements and specifications (e, g, k)

§  Ability to analyze software requirements (e, g, k)

§  Ability to design software (c, e, k)

§  Ability to apply testing strategies and techniques (a, c, e, k)

§  Ability to understand the use of metrics in software engineering (a, d, e, k)

§  Ability to understand formal methods in software development (a, e, k)

§  Ability to establish and participate in an ethical  software development team (c, d, e, f, g, h, k)

§  Ability to use software project management tools and techniques (c, e, h, k)

§  Ability to use CASE tools for software development (c, e, k)

 

 

Ambulance Dispatch System – Some Articles

¨        Dalcher--Disaster_in_London.The_LAS_case_study.pdf

¨        Finkelstein--A_Comedy_of_Errors--the_London_Ambulance_Service_case_study.pdf

¨        Kramer--Succeedings_of_the_8th_International.pdf

¨        South_West_Thames--Report_of_the_Inquiry_Into_The_London_Ambulance_Service.pdf

 

Cartoon:  http://dilbert.com/comics/dilbert/archive/dilbert-20060129.html

 

Software Engineering Proverbs: http://www.multicians.org/thvv/proverbs.html

 

 

Teams – Spring 2006

 

Teams – Spring 2007

 

Frequently Asked Questions

Houses, architectural blueprints

On MDA by OMG

An article on MDA by Booch

More on Component Diagrams & Architectures

Rational Rose Tutorial

Design Document Example – System Design; Object Design

Test Plan Template; Test Case Specification Template

Ooad-sadt

 

Job posting