20090113simmonds_devon0003        CSC 450 – Software Engineering -  Devon M. Simmonds, Instructor

Software Engineering is one of the major branches of the discipline of computer science. All students of the science of computing are expected to master the essentials of this exciting study. This course demonstrates a team software development philosophy. Within this team philosophy, students will be provided students with in-depth knowledge of the software development process with special emphasis on requirements analysis, software design and software project management.

 

Course Catalog Description

Study of object-oriented methods for the design and production of large software systems emphasizing analysis, design, implementation, and testing. The course includes the development of a substantial software project by teams of software developers.

 

_________________________________________________________________________

General Course Information

Meeting Days/Time: MWF 9:00 - 9:50am

Location:        CI 1006

_________________________________________________________________________

Instructor Information

Name: Devon Simmonds

Office Location: CI 2046

Office Hours: MWF 10:00- 11:00am or by appointment.

Phone: (910) 962-3819

email: simmondsd[at]uncw.edu

_________________________________________________________________________

Required Texts

 

cid:image002.png@01C9D7F4.BCC8AD30

     Software Engineering A Practitioner’s Approach

     7th Edition, Roger S. Pressman, McGraw Hill

     ·  ISBN-10: 0073375977

     ·  ISBN-13: 978-0073375977

 

       http://g.bookpool.com/covers/204/0130159204_500.gif

     Object-Oriented Modeling and Design with UML

     2nd Edition, Michael R. Blaha & James R Rumbaugh

     Prentice Hall, ISBN: 0130159204

 

 

Course Requirements

Students are organised into teams (groups). Each group is expected to complete a software development project. The project will be assigned by the course instructor. In completing their projects, each group must complete and submit:

*        A requirements specification document that includes a requirements class model and use case specification (see format)

*        Software Design documentation including descriptions of the software using: design class diagrams, state diagrams, sequence diagrams (see format)

*        Software implementation documentation (see format)

 

Exams: In addition to the project, students must also complete in-course tests and a final exam.

 

Teams: The requirements for the organization and management of groups can be found here.

 

Presentation Dress Code: Formal attire is required for all presentations and all team members must participate in each presentation. Presentations should follow the general format of the written reports.

 

Textbook & Reading Material

Required Text - Software Engineering A Practitioner’s Approach

6th Edition, Roger S. Pressman, McGraw Hill

·         ISBN-10: 007301933X

·         ISBN-13: 978-0073019338

 

Required Text -   Object-Oriented Modeling and Design with UML

2nd Edition, Michael R. Blaha & James R Rumbaugh

Prentice Hall, ISBN: 0130159204

 

Recommended Reading Material - 

*        Systems Analysis and Design, by K. E. Kendall and J. E. Kendall. Prentice Hall.

*        Fundamentals of Software Engineering, by Carlo Ghezzi, Mehdi Jazayeri, and Dino Mandrioli. Prentice Hall, 1992.

 

Grading

Grades will be determined on the basis of students’ performance on project and examinations.  Final grades will be based on the following distribution:

 

COURSE ITEM

GRADE PERCENT

Software Requirements Specification & Presentation

10%

Software Design & Presentation

10%

Software Implementation, Presentation & Demo

10%

Quizes - unannounced

10%

Homeworks

20%

Tests (2 x 10)

20%

Final Examination

20%

 

Grades will be assigned based on the following grading system

·        90% or above            A

·        80% - 89%                B

·        65% - 79%                C

·        50% - 64%                D

·        below 50%                F

 

All students must be present during project presentations. Absence from a presentation will result in a loss of 10%.

Course Objectives: At the end of this course students will be able to:

§  Define Software Engineering and explain basic software engineering principles.      

§  Describe the software development process and software qualities.

§  Understand basic software project management.

§  Perform analysis, design and implement a software project.

§  Explain the fundamentals of software testing and apply testing techniques to a given software project.

 

Course Outline

 

1.        Introduction to Software Engineering

1.1.            Course overview

1.2.            The software crisis

1.3.            Software engineering defined

1.4.            Types of software systems

1.5.            Software characteristics

1.6.            Software engineering process & paradigms

1.7.            Software engineering principles

1.8.            Use of models in software engineering

 

2.        Software Project Management

2.1.            Introduction to software project management

2.2.            Scoping

2.3.            Estimation

2.4.            Scheduling

2.5.            Feasibility studies

 

3.        Requirements Analysis

3.1.            Introduction

3.2.            Activity diagrams

3.3.            Use case modeling

3.4.            Requirements class modeling

 

4.        Software Design

4.1.            Introduction

4.1.1.                  Quality, cost, evolution

4.1.2.                  Basic design principles

4.1.3.                  Design documentation

4.2.            Diagram Types

4.2.1.                  Design class diagrams

4.2.2.                  Package diagrams

4.2.3.                  Sequence diagrams

4.3.            Architectural design

4.4.            User interface design

4.5.            Procedural design

 

5.        Implementation

5.1.            Introduction

5.2.            programming principles

5.3.            Coding standards and styles

5.4.            Documentation

 

6.        Testing

6.1.            Introduction

6.2.            Principles and goals

6.3.            Techniques and strategies

 

7.        Ethics in software engineering

 

Instructional Approaches

  1. Lectures
  2. Notes
  3. Question & Answer
  4. Problem Solving
  5. Case Studies
  6. Group Activities

 

OTHER POLOCIES

This document contains additional policies to compliment the information in the other links on the csc385 web page.

Late assignments will not be accepted.

Academic Expectations for Students

“In choosing UNCW, you have become part of our community of scholars. We recognize that the UNCW learning experience is challenging and requires hard work. It also requires a commitment to make time available to do that hard work. The university expects you to make academics your highest priority by dedicating your time and energy to training your mind and acquiring knowledge. Academic success in critical thinking and problem solving prepares you for the changes and challenges you will encounter in the future. Our faculty and academic support resources are readily available as partners in this effort, but the primary responsibility for learning is yours”.

Honor Code

“It is the responsibility of every student to uphold and maintain the UNCW Academic Honor Code (see Section V of your Student Handbook). You violate the honor code when you represent someone else's work as your own. Programming assignments may be discussed at a conceptual level with other students but details and coding must be your own. Copying and team collaboration is prohibited.”

Learning Strategies

“You are expected to take an active role in your learning in this course. This includes regular attendance, paying attention in class, reading the textbook, and completing all course requirements. You are encouraged to study with your classmates outside of class. Programming assignments usually require a lot more time than expected, so start early and work some every day.”

Code of Student Life (pdf)

UNCW practices a zero-tolerance policy for violence and harassment of any kind.  For emergencies contact UNCW CARE at 962-2273, Campus Police at 962-3184, or Wilmington Police at 911.  For University or community resources visit http://uncw.edu/wrc/crisis.htm

Academic Honor Code

Students with Disabilities

“If you have a disability and need reasonable accommodation in this course, you should inform the instructor of this fact in writing within the first week of class or as soon as possible. If you have not already done so, you must register with the Office of Disability Services in Westside Hall (extension 3746) and obtain a copy of your Accommodation Letter. You should then meet with your instructor to make mutually agreeable arrangements based on the recommendations of the Accommodation Letter.”

Student Affairs Disability Services - Policies and Procedures 

Department & University Policies