CPSC 2100

Course Description:

CPSC 2100 - Software Design and Development

A study of the analysis, design and implementation phases of software systems development using a phased life cycle approach. Process, data and object oriented development models. Introduction to modeling tools and CASE software. Team approaches to software development. Project management concepts. Prerequisite: CPSC 1110 with a minimum grade of C or department head approval. Supplementary course fee assessed.


  • Required:  Object-Oriented Design and Patterns, 2nd Edition, Horstmann, Wiley, ISBN: 978-0-471-74487-0
  • Optional:Big Java, 4th edition, Horstmann, Wiley, ISBN: 970-0-470-50948-2

Lecture Notes

Chapter 1

Chapter 2

Chapter 3

Chapter 4

Chapter 5

Chapter 6





  • Association for Computing Machinery. (1996). ACM transactions on design automation of electronic systems. New York, NY: ACM.
  • Data & knowledge engineering. (1985). Amsterdam: Elsevier Science Publishers.
  • Science of computer programming. (1981). Amsterdam: Elsevier Science.
  • Parallel Algorithms and Applications. (n.d.). (Taylor & Francis Group.) Taylor & Francis Group.
  • Association for Computing Machinery., & National Institute of Standards and Technology (U.S.). (n.d.). ACM conference proceedings. New York: Association for Computing Machinery


  • Software design. (January 01, 2008). Broadcast Engineering, 50, 7.)
  • Li, Z., & Tian, J. (January 01, 2011). An approach of trustworthy software design with automatically adapting software update. Wuhan University Journal of Natural Sciences, 16, 5, 391-398.
  • Design software.(Software). (January 01, 2004). Wireless Design & Development, 12, 10.)
  • Software design. (September 01, 1994). Choice Reviews Online, 32, 1, 32-353.
  • Sommerlad, P. (January 01, 2007). Design patterns are bad for software design. Ieee Software, 24, 4.)


  • Peters, L. J. (1981). Software design: Methods & techniques. New York, N.Y: Yourdon Press.
  • Lakos, J. (1996). Large-scale C++ software design. Reading, Mass: Addison-Wesley Pub. Co.
  • Scanlon, L. J. (1980). 6502 software design. Indianapolis, Ind: H.W. Sams.
  • International Symposium on Business Modeling and Software Design, & Shishkov, B. (2013). Business modeling and software design: Second International Symposium, BMSD 2012, Geneva, Switzerland, July 4-6, 2012, Revised selected papers. Berlin: Springer.


Secure Use

General Security Policy: Cyber Ethics

Cyber Ethics 

General Security Policy: Information Technology Security Evaluation Criteria (ITSEC)

ITSEC Definition 

General Procedures: Inference

Inference Definition 

General Procedures: Rainbow Series

Rainbow Series 

General Procedures: NSTISSAM COMPUSEC/1-99 Insider Threat to Government Computer Systems

NSTISS Glossary 

General Countermeasures and Safeguards: Computer Law

Computer Law 

General Countermeasures and Safeguards: Computer Media

Computer Media 

General Countermeasures and Safeguards: Evaluate Security Testing Tools

Security Testing Tools 

Administrative Countermeasures/Safeguards: Control Management

Change Control 
Control Management 

Administrative Countermeasures/Safeguards: Privacy Act

Privacy Act of 1974 

Operations Policies/Procedures: Keystroke Monitoring

Keystroke Monitoring 

Operations Policies/Procedures: Disaster Recovery Planning

Disaster Recovery 


Policy and Procedures: Incident Response

Incident Response 

Policy and Procedures: Witness Interrogation

Witness Interrogation 

Operations Countermeasures/Safeguard: Computer Attacks

Computer Attacks 
Computer Virus Timeline 

Operations Countermeasures/Safeguard: Computer Emergency Readiness Teams



Administrative Policies/Procedures: Approval to Operate

Approval to Operate 

Administrative Policies/Procedures: Configuration/Change Control

Change Control 

Administrative Policies/Procedures: Copyright Protection

Copyright Protection 

Administrative Policies/Procedures: Patch Management

Patch Management 

Administrative Policies/Procedures: Records Management

Records Management

Administrative Policies/Procedures: Wireless Use Policies

Wireless Use Policy 

Anomalies and Integrity

General Risk Management: Computer System Risk Management

Risk Management 

Access Control Safeguards: Computer System Access Control

Access Control 

Access Control Safeguards: Protected Distribution Systems

Protected Distribution System 

Access Control Safeguards: Information Systems Access Restrictions

Access Restrictions 


Access Control Mechanisms: KMI Applications

Key Management 

Access Control Mechanisms: Single Sign-on

Single Sign On 

IA Sites