iSYS 484: Software Engineering
(Note: This course was COMS 480: Software Engineering before the 2007-8 catalog.)
Contents
This course is designed to present students with an overview of Software Engineering. Students learn principles, methods, and techniques for the construction of software systems. The course encompasses both technical issues affecting software architecture, design, and implementation, as well as process issues that address project management, planning, quality assurance, and product maintenance. Students will be exposed to current technology used to develop software. Students will apply software engineering techniques to homework assignments and team projects throughout the course. Cross-listed with IT as IT 484.
This course (iSYS 484) is not a prerequisite for any other iSYS 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.