loader image
Skip to main content
If you continue browsing this website, you agree to our policies:
x

Topic outline

  • Unit 1: Introduction to Software Engineering

    When dependency on software and computers became more important, software grew in size and became a necessity for businesses and users all over the world. In the last 30 years, we have seen an unparalleled explosion in the amount of software produced and used by our modern society. There is now a need to set concrete objectives (or functional requirements), predict necessary resources (like cost estimates) to attain those objectives, and manage customers' expectations. As you review the material in this unit, compare and contrast software engineering with computer science. These two disciplines are closely related, but they have some differences. As you work through this unit, spend some time reviewing the software characteristics and the code of ethics used in the professional practice of software engineering.

    Completing this unit should take you approximately 3 hours.

    • Upon successful completion of this unit, you will be able to:

      • explain software engineering and what software engineers do;
      • identify the differences between software engineering, computer science, and computer engineering;
      • categorize software by characteristics and types;
      • describe the attributes of good software; and
      • explain the code of ethics used in the professional practice of software engineering.
    • 1.1: An Overview of Software Engineering

      • Watch this video of the first day in a software engineering course at Harvard University. The instructor spends the first half of the video exploring a haphazard way to develop a system for putting the class syllabi online. He then discusses the systematic process to complete a course similar to this one, especially the SDLC projects (Unit 10). The video mentions a number of software tools for software development. Do not be overwhelmed, as this is not a programming course. You may find the 30-day free versions of software modeling useful if you have time to use them in Unit 3.

    • 1.2: What Is Software Engineering?

      • As you read this article, pay attention to the trends section. As you proceed through this course, these items will appear as controversies and opportunities to evaluate other alternatives.

      • This article separates computer science into other categories, with software engineering being one of them. How is software engineering like computer science? How is software engineering different?

    • 1.3: Software Applications

      • As you read this article, consider the various types and classes of software. What are some of the crises and myths of software development? How did those indicate the need for software engineering?

    • 1.4: Software Quality

      • In general, software quality is crucial in software engineering. Read this article and explore the various definitions of quality and the quality models. Notice the priority of quality factors and how software quality can be measured.

    • 1.5: Software Engineering Code of Ethics and Professional Practices

    • Unit 1 Assessment

      • Take this assessment to see how well you understood this unit.

        • This assessment does not count towards your grade. It is just for practice!
        • You will see the correct answers when you submit your answers. Use this to help you study for the final exam!
        • You can take this assessment as many times as you want, whenever you want.