SRE Bootcamp Series — Software Processes

Software processes, Software phase and Tools of Trade

Jansutris Apriten Purba
3 min readMay 14, 2021

Hallo Geeks, I hope you feeling good and enjoy your entire life.

Now i’d like to convey to you:

  • Software processes
  • Software Development phase
  • Tools of Trade

All of these knowledge is come from Udacity. I found this link from my bootcamp’s learning syllabus arranged by AccelByte Inc. Happy Reading guys!

Software processes

Software processes (SP) is the implementation from abstract idea in somebody’s head, for example, the customer’s head, to a concrete system. Hopefully it does in the right way.

Source: Udacity

SP is a way of breaking down the complexity of software like un-manageable task into smaller steps that we can handle and tackled individually. SP is also a formal or semiformal way of discussing, describing how software should be developed which is we call Software Phases. In short, the example are waterfall, evolutionary prototyping, RUP/USP, and Agile.

Source: Udacity

Software Phases

In fact, Software processes are characterized by several phases. One of the phase is mainly focused on coding and the other phases are meant to support other parts of software development.

Source: Udacity

Fundamentally, There are 5 phases of Software development which are:

  1. Requirements Engineering

We talk to the customers, to the stakeholders, whoever we are building the software for and try to collect the information and understand what kind of system that we need to build.

2. Design

Then we use these information to define our high-level architecture design.

3. Implementation

In which we write code that implement the design that we just defined.

4. Verification and Validation

After implementing the code, we need to verify and validate the code. in this step, we want to make sure that the code behaves as intended.

5. Maintenance

Finally, we maintain the code involves several activities. For example, adding new functionality or eliminating bugs from the code or responding to problems were reported from the field after we released the software.

Tools of the Trade

We will also look at how tools can improve software phases not only for efficiency or for improving productivity but also effectiveness of our activities in software development process. The tools also having robust improvement/evolution. we actually have some evolutionary tools like:

  • Development: Punch Cards -> IDE (Integrated Development environments) the editors in which you can write or compile or run or debug or even test your code.
  • Language: Machine Code ->High-Level Languages
  • Debugging: Print lines -> Symbolic Debuggers.

Magic Tools

  • Version Control System (VCS): it is a tool to check the differences between versions of code, in particular we work with git.
Source: https://kevintshoemaker.github.io
  • Git Repository: Git stores information in a data structure called a repository. Git repository is a central place where developers collaborate, store, share and test their codes on web projects. In particular we work with GitHub or GitLab or Bitbucket.

That’s all, Thank you!

--

--