IT 484: Software Engineering
(Note: This course was COMS 480: Software Engineering before the 2007-8 catalog.)
Contents
An introduction to all important aspects of software engineering. The emphasis
is on principles of software engineering including project planning, requirements
gathering, size and cost estimation, analysis, design, coding, testing, implementation,
and maintenance.
This course (IT 484) is not a prerequisite for any other IT course.
This course is normally scheduled every fall and spring semester.
(
under construction...)
The following content areas will be covered.
- Object-Oriented Concepts (about 4 hours)
- Software Quality Metrics (about 4 hours)
- Requirements and Specifications (about 4 hours)
- Software Life Cycles (about 4 hours)
- Functional Specifications (about 4 hours)
- Development Standards (about 4 hours)
- Analysis and Design Tasks (about 4 hours)
- IS Applications, Sub-Structures (about 4 hours)
- Design, Test, Debug (about 4 hours)
- Algorithm Development (about 4 hours)
- Implementation with Objects, Event Driven (about 4 hours)
- Requirements and Prototyping (about 4 hours)
- Programming Environments (about 4 hours)
- Application Development/Code Generation (about 4 hours)
- Complexity Metrics (about 4 hours)
Additional topics may also be covered based on time and student interest.
By the end of this course, you should be able to
- evaluate classes, abstract data types (ADT), and objects with other styles of programming (e.g., functional, logical)
- apply quality metrics to an existing system
- utilize quality metrics and performance benchmarks to ensure customer satisfaction for each phase of the life cycle. Test the metrics during system development activities
- analyze individual and group tasks for information requirements
- conduct an information gathering interview with individuals and with a group and analyze the results
- discuss common problems associated with cost estimation
- discuss how to estimate the cost of a software project
- discuss life cycle concepts
- demonstrate that data collection, verification, and control is accomplished for an implemented system
- demonstrate that external audits will establish consistent goals and accomplishments for an implemented system
- utilize a methodology to implement information system of departmental level significance
- explain lifecycle, workflow, OOA, prototyping, risk-based models, spiral and other restricting models
- explain the concept of an IS development methodology
- summarize common analysis approaches
- discuss the advantages and disadvantages of fundamental structures that are building blocks for the development of programs and IS applications
- discuss the advantages and disadvantages of executable and non-executable (e.g., structured walkthroughs) testing techniques
- compose an algorithmic solution to a problem and be able to represent it with appropriate program and data objects
- discuss differences between a structured, event-driven, and object-oriented application design
- modify inputs, outputs and processing to refine a prototype
- utilize rapid prototyping and other similar alternative mechanisms for rapid development of information systems
- discuss the merits of commonly-used programming environments available for business application development
- utilize code generators to generate a skeleton IS application that does basic CRUD (create, retrieve, update, delete) operations
- given a small-to-medium sized program, manually compute cyclomatic complexity for that program
Final textbook choice is determined by the instructor, who may
choose a textbook similar to one the following. This list can give you an
idea of the course topics, coverage, and depth.
Additional readings may be assigned by the instructor.