CSIS 643 Software Design

In this course, the student will be introduced to the architectural design of complex software systems and explore how to successfully design complex software systems. Software system design requires an individual to be able to describe, evaluate, and create systems at an architectural level of abstraction. Therefore, this course considers commonly-used software system structures, techniques for designing and implementing these structures, models, and formal notations for characterizing and reasoning about architectures, tools for generating specific instances of an architecture, and case studies of actual system architectures. Students will learn the skills and background needed to properly evaluate the architectures of existing systems and to design new systems in principled ways using well-founded architectural paradigms.

For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

Course Guide

View this course’s outcomes, policies, schedule, and more.*

*The information contained in our Course Guides is provided as a sample. Specific course curriculum and requirements for each course are provided by individual instructors each semester. Students should not use Course Guides to find and complete assignments, class prerequisites, or order books.


The purpose of CSIS 643, Software Design, is to teach the student the concepts of architectural design and to apply these concepts to successfully design complex software systems. This course is important for the student because the quality and longevity of a software system is determined by its architecture, thus making these skills valued by employers.


Textbook readings and lecture presentations

No details available.

Course Requirements Checklist

After reading the Course Syllabus and Student Expectations, the student will complete the related checklist found in the Course Overview.

Discussions (4)

Discussions are collaborative learning experiences. Therefore, the student will complete 4 Discussions in this course. The student will post 1 thread of at least 400 words and post 2 replies of at least 200 words on his or her classmates’ threads. For each thread, the student must support their assertions with at least 1 citation in current APA format. Each reply must incorporate at least 1 citation in current APA format. Any sources cited must have been published within the last 5 years. Acceptable sources are scholarly articles.

Discussion: Peer Feedback

Discussions are collaborative learning experiences. Therefore, the student will complete 1 peer feedback Discussion in this course. The student will post 1 thread including 200 words and an embedded 5-to-10-minute video. The thread and video must discuss the architecture and demonstrate how the program conforms to the architecture. The student must then post 2 replies of at least 200 words. The replies are peer reviews on how a classmate’s project conforms to the architecture.

Throughout the course, the student will architect and program a software application utilizing object-oriented techniques and graphical user interfaces using Java. This project will be completed in the following steps:

Business Case Assignment

The student will write a 10–12-page paper, excluding the title, abstract, and reference pages, in current APA format that describes the business case and architecturally significant requirements for the project. The paper must include at least 10 scholarly articles as references in addition to the course textbook and the Bible. 

Architecture Assignment

The student will write a 6–8 page paper (not including the title page, abstract, models, and reference page) in current APA format that describes and justifies the complete architecture and design decisions for the project. The Architecture Assignment must include at least 15 fully developed models of at least 8 different types. The paper must include at least 8 scholarly articles as references (different from the Business Case Assignment) in addition to the course textbook and the Bible.

Threat Model Assignment

The student will write a 2-3 page paper (not including the title page, abstract, models, and reference page) in current APA format that describes and justifies threat models for the project. The Threat Model Assignment must include at least 3 fully developed threat models. The paper must include at least 2 scholarly articles as references in addition to the course textbook, the Bible, and the provided article.

Implementation Assignment

This step will display the student’s completed software application, the culmination of the software design and architecture process. The student will submit his/her Java source code and the architecture. The student will provide a Word document containing at least 3 pages of narrative explaining their program’s functionality and at least 6 pages of screenshots to demonstrate their program. The student will also provide a link to a video demonstration of their running program. The paper must follow current APA format (abstract and reference page are not required).

The student will complete an assignment to apply the concepts of the course to build a case for Christ. Current APA format must be used. The student will write a 1,500 word paper which must include an introduction, mission statement, 5 evidence-based points on why Christ is real and should be accepted into people’s lives, an explanation of how Christ can be accepted into one’s life, and a conclusion. The paper must use a minimum of 5 biblical references to support key points. 


Top 1% For Online Programs

Have questions about this course or a program?

Speak to one of our admissions specialists.