CS302: Software Engineering

Full Details
Level
Price
Common Core
Images
No items found.

Software engineering is a discipline that allows us to apply engineering and computer science concepts in the development and maintenance of reliable, usable, and dependable software. The concept of software engineering was first discussed at the 1968 NATO Science Committee in Germany. Today, many practitioners still debate over the term software engineering, often arguing that this discipline does not meet the criteria of engineering; rather, it should be called software development. There are several areas to focus on within software engineering, such as design, development, testing, maintenance, and management. Software development outside of the classroom is a very complex process, mostly because real-world software is much larger and more complex.

The purpose of this course is to present software engineering as a body of knowledge. The course is designed to present software engineering concepts and principles in parallel with the software development life cycle. The course will begin with an introduction to software engineering, giving you a definition of this body of knowledge, as well as a discussion of the main methodologies of software engineering. You will then learn about the Software Development Life Cycle (SDLC) followed by software modeling using Unified Modeling Language (UML), a standardized general-purpose modeling language used to create visual models of object-oriented software. You will go on to learn about five major phases of the SDLC: requirements gathering, requirements analysis, design, coding/implementation, and testing. You will also learn about project management for the purpose of delivering high-quality software that satisfies customer needs and is within budget.

By the time the course is complete, you will master software engineering concepts, principles, and essential processes of the SDLC; you will demonstrate this knowledge by creating UML artifacts for requirements gathering, analysis as well as design phases using an object-oriented methodology.

Full Details
Formats: 
Part of resource: 
Posted 
Mar 2023
This resource has religious influence.

Similar resources

Linux Tools for Software Development (LFD108x)
Linux Tools for Software Development (LFD108x)
College & Adult
Developing Applications For Linux (LFD401)
Developing Applications For Linux (LFD401)
College & Adult
EduMEE
EduMEE
1st-High school
Coding Jam
Coding Jam
Kindergarten - 6th
Coding Awbie
Coding Awbie
Kindergarten - 3rd
AlgoBot
AlgoBot
6th - High School

About Saylor Academy

Learn new skills, earn credit toward a degree, or advance your career at your own pace. Build your bridge to better anywhere, at any time, with free courses at Saylor Academy.

More by Saylor Academy

thumbnail
PRDV251: HTML and CSS for Beginners
PRDV251: HTML and CSS for Beginners
College
thumbnail
CUST104: Business Communications
CUST104: Business Communications
College
thumbnail
ENGL405: The American Renaissance
ENGL405: The American Renaissance
College
thumbnail
MA005: Calculus 1
MA005: Calculus 1
7th - College
thumbnail
ENGL001: English Composition I
ENGL001: English Composition I
College
thumbnail
PRDV002: Professional Writing
PRDV002: Professional Writing
College