DEPARTMENT OF MATH AND COMPUTER SCIENCE

 

ALBANY STATE UNIVERSITY

 

SYLLABUS FOR CSCI-4221: SOFTWARE ENGINEERING

 

IPHONE UI, Download here

 

PHONE SOUNDS Download here

 

How to Create a Self-Extracting EXE File, Click here

 

INSTRUCTOR: Dr. Robert Steven Owor

TEXTS:  Software Engineering, A Practitioner’s Approach, 6th Edition, Roger Pressman   

CLASS WEBSITE: http://www.robertowor.com/csci4221/

 

CLASS TIME: Tues, Thurs: 2.00 – 3.20 p.m.

 

OFFICE HOURS: See Http://www.robertowor.com

 

OFFICE: RHS 343

 

Email: Robert.owor@asurams.edu

 

Course Description

 

This is an Introductory course in Software Engineering. It underscores the concepts of  the design of large complex software systems. Concepts such as systems project management, software engineering methods, object oriented software analysis, user interface design, and software testing techniques and metrics are related to the Software Engineering Approach. The course focuses on ingraining key concepts such as data security, access authorization, web enabled systems, enterprise information systems planning, automated report generation, client side programming, server side programming and advanced user interface designs tools. Students are expected to use this knowledge to design and implement a software Engineering project, which will be evaluated as part of the course.

Course Objectives

 

(i)                 To introduce and train the  student in the foundational concepts of software engineering

(ii)               To advance the student’s  understanding and application of the principles of software engineering and emerging software engineering paradigms for the design for large complex software systems.

(iii)             To design and develop large well constructed software systems for modern enterprise, industrial, wireless and medical systems.

 

Evaluation

 

Each category of items listed here will have homework assignments.

 

Project   Write-up and Demonstration   40%

Problem Definition And Analysis 20%

Solution Synthesis and Coding 20%

Testing and Evaluation  20%

 

Grading

 

A – 90+

B – 80-89

C – 70-79

D – 60-69

F 59-

 

Course Policy

 

Late assignments shall not be accepted except with valid documented excuse acceptable at the discretion of the instructor.

 

Special Needs

 

Any student who needs special accommodation should consult the Instructor as soon as possible.

 

Course Content

 

  1. Introduction to Software Engineering

·         What is Software Engineering?

·         The role of the Software Engineer

·         Software Engineering and Project Management

·         Software Engineering Code of Conduct

·         Software Engineering as a Profession

 

  1. The Software Engineering Methodologies
    • Process models
    • The Linear Sequential model
    • The prototype Model
    • The RAD model
    • Evolutionary Models
    • Component Models
    • Formal methods
    • 4GL techniques
    • Zero Defect Software Engineering
    • Capability Maturity Model
    • Web Engineering
    • Wireless Software Engineering
    • Extreme Programming
    • Portable Programming
    • Embedded Systems Programming
    • Real Time Applications Programming
    • Precision Systems Programming

 

  1. Project Management Concepts

·         Processes

·         People

·         Products

·         Critical practices

·         Best Practices

·         Architectural Design

 

  1. Project metrics

·         Measures

·         Metrics

·         Indicators

·         Quality control

·         Establishing Software metrics

·         Testing Strategies

·         Statistical Quality Control

 

  1. Software Engineering Project Planning

·         Scope

·         Resources

·         Estimation

·         Decision making

·         Budgeting

·         Gantt Charts

·         Implementation Scheduling

·         Dynamic Programming

 

  1. Conventional Software Engineering

·         Requirements Analysis

·         Analysis Modeling

·         Architecture design

·         User interface design

·         Coding

·         Software testing

·         Software evaluation

 

7 Object oriented Software Engineering

 

  • System Design
  • Object design
  • Object oriented testing
  • UML

 

8 Overview of Other methods

  • Formal methods
  • Clean room software engineering
  • Component method Engineering
  • Concurrent engineering
  • Case tools

 

9. Alpha Product Release Requirements

    Beta Product Release Requirements

    Production Version Release Requirements

 

10. Software Copyrights, Inventions, Trade Secrets