Culminating Project Title
Date of Award
Culminating Project Type
Computer Science: M.S.
Computer Science and Information Technology
School of Science and Engineering
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.
Keywords and Subject Headings
Requirements gathering, software engineering, elicitation, modeling, UML, Software Requirements Specification
Software engineering is a discipline which specifies, designs, develops, and maintains software applications. It applies practices and technologies from computer science. Software engineering is the backbone of software systems and forms the basis of operational design and development of software systems.
Analysts use requirements elicitation techniques to ascertain the needs of customers and users, with the goal being a system that has a high chance of satisfying those needs. Success or failure of system development relies heavily on the quality of requirements gathering.
Software modeling is an essential part of the software development process. Models are built and analyzed before the implementation of a system and are used to direct implementation.The Unified Modeling Language (UML) provides a standard way to visualize the design of a system.
During the planning and design stages, software engineers must consider the risks involved in developing a system. Software must solve a problem and must respond to both functional and nonfunctional requirements. Software systems generally follow a pattern or an architectural style.
We show the initial steps of developing a software system, define its specification and design topics, and demonstrate their creation by presenting a case study.
Erler, Lisa, "Topics in Software Engineering" (2018). Culminating Projects in Computer Science and Information Technology. 20.