Software Engineering

Technical Documentation

Software Engineering

Introduction

Topics

Software Engineering

What is software engineering?

Software engineering is the branch of computer science that deals with the design, development, testing, and maintenance of software applications. Software engineers apply engineering principles and knowledge of programming languages to build software solutions for end users.

Models

  1. Waterfall Model
  2. V-Model
  3. Iterative (and Incremental) Model
  4. Prototyping Model
  5. Spiral Model
  6. Agile Methodology Development Models
    1. Scrum Model
    2. Kanban Model
    3. Spotify Model

Software Management

Project Management Software is software used by a wide range of industries for project planning, resource allocation and scheduling. It enables project managers as well as entire teams to control their budget, quality management and all documentation exchanged throughout a project. This software also serves as a platform for facilitating collaboration among project stakeholders.

Tools

  1. Jira
  2. Trello
  3. ProjectManager.com
  4. Celoxis
  5. Plutio
  6. TeamGantt
  7. Clickup
  8. Backlog
  9. LiquidPlanner
  10. Adobe Workfront
  11. Hubstaff
  12. Wrike
  13. Asana
  14. Monday.com
  15. Zoho Projects
  16. ProofHub
  17. Teamwork Projects
  18. Nifty
  19. Basecamp
  20. MeisterTask

Software Metrics

A software metric is a measure of software characteristics that are quantifiable or countable. Software metrics are important for many reasons, including measuring software performance, planning work items, measuring productivity, and many other uses.

Examples of Software Metrics

Project Planning

A Software Project is the complete methodology of programming advancement from requirement gathering to testing and support, completed by the execution procedures, in a specified period to achieve intended software product.

Read more about Planning

Risk Management

Software development is activity that uses a variety of technological advancements and requires high levels of knowledge. Because of these and other factors, every software development project contains elements of uncertainty. This is known as project risk. The success of a software development project depends quite heavily on the amount of risk that corresponds to each project activity. As a project manager, it’s not enough to merely be aware of the risks. To achieve a successful outcome, project leadership must identify, assess, prioritize, and manage all of the major risks.

Understand more about Risk Management?

Software Requirement

Software requirements for a system are the description of what the system should do, the service or services that it provides and the constraints on its operation. The IEEE Standard Glossary of Software Engineering Terminology defines a requirement as:

  1. A condition or capability needed by a user to solve a problem or achieve an objective.
  2. A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.
  3. A documented representation of a condition or capability as in 1 or 2.

The activities related to working with software requirements can broadly be broken down into elicitation, analysis, specification, and management.

Note that the wording Software requirements is additionally used in software release notes to explain, which depending software packages are required for a certain software to be built/installed/used.

Know more about Software Requirements?

Software Configuration

As you’re no doubt aware, in software engineering, software configuration management (SCM) refers to a process for maintaining computer systems, servers, and software in a desired, consistent state.

Get more about Software Configuration?

Software Quality

Software quality is defined as a field of study and practice that describes the desirable attributes of software products. There are two main approaches to software quality: defect management and quality attributes.

Read more about Software Quality.

Software Design

Software design is the process of envisioning and defining software solutions to one or more sets of problems. One of the main components of software design is the software requirements analysis (SRA).

More?

Coding

Coding is a subset of programming.

Know more about Coding?

Software Reliability

Software Reliability is the probability of failure-free software operation for a specified period of time in a specified environment.

Under more about Software Reliability?

References