What is required for software development technology

08/12/2017

 

What kind of technology is there in software development technology?

Various technologies are required to develop software, but what kind of technology is required at a minimum ? If you look at a bookshelf at a bookstore or search on the net, you will find a lot of information and you will not know which technology you need. Considering the area of ​​embedded software, design technology , mounting technology , test technology , and development management technology are the four important technologies. It should be noted, technology and skills necessary for the development of embedded systems for, IPA (Information-Technology Promotion Agency) is built-in skill standards have us to organize clarity to systematically determine the (ETSS). 

However, since this ETSS is also organized for a wide range of embedded software in general, the area covered is quite wide, and the wall may feel a little high. It feels a little crushed, what kind of technology do you need for the time being? From this point of view, I would like to introduce the software development technology that my father Gutara has been thinking about, so please read it with a light feeling.

By the way, what is the difference between technology and skill?

By the way, what is technology ? Skills are in similar words . Skills are the closest in Japanese. Simply put, technology is “a sentence or drawing that makes science useful to people, " and skill is " the ability of a person to do something useful with technology ." 

For example, consider making curry. There are recipes in books and online about how to make curry, what ingredients and spices to use, how to cook and in what order to make curry. This is a technique for making curry. On the other hand, cooks at Indian restaurants naturally have such recipes in their heads and can make delicious curry without looking at the recipes. This is a skill to make curry for cooks.

In other words, skills are the abilities of ourselves that we acquire by practicing and experiencing the wisdom of our predecessors written as technology. Software development is a skill to develop the software that you really need because the software engineer thinks about almost everything in the mind, from design to implementation and testing . However, I can’t look inside the engineer’s head, so it seems good to think about various things from the perspective of the technology used for writing such as sentences and drawings .

What kind of technology is there?

What kind of technology is required for software development ? Is knowledge of computer languages ​​or knowledge of communication protocols a technology? There is no way to grasp it just because it is a technology, so let’s classify it a little more.

There are various classifications of technologies required for software development, but it is easy to understand that the simple classifications are (1) design technology, ( 2) mounting technology, ( 3) test technology, and ( 4) management technology . ①, ②, and ③ are direct technologies for actually making software , and ④ are indirect technologies for completing software as planned . Let’s take a closer look in turn.

What kind of technology is design technology?

The first thing that comes to mind when it comes to software design technology is the requirement design technology that determines the requirement definition, the basic design technology that considers the overall configuration of the software , and recently the RAS function (reliability, availability, maintainability). It is a technology for designing the software itself, such as technology for designing availability and technology for designing security . This is of course the most important technology, isn’t it?

The next most important technology is review technology . Almost all software design is done in the minds of software engineers. And since engineers are humans and not gods, mistakes naturally come in. You can notice this mistake yourself, but unfortunately people are not good at finding their own mistakes. I try my best to find the mistake, but I think the same as when I made the mistake, which makes it difficult to find the mistake.

So this is a review that asks someone else to point out if there are any mistakes . This is the technology of review, what kind of preparations should be made, what kind of precautions should be taken and how to proceed with the review in order to receive the review as effectively as possible. In contrast to the direct technology for designing the software itself, the review technology is a technology that supports development.

Is there any technology required for software design other than direct technology and assistive technology? Father Gutara was aware of two more skills needed. The first is document creation technology . Design documents are written in natural languages ​​such as Japanese, but if they are written like prose, reading is not enough. In order to write out the information required as a technical document in an easy-to-understand manner, it is essential to have a certain level of document creation ability. 

And the second, though not limited to software design, is the technology of thinking about things . There is a suspicious atmosphere when it comes to thinking skills, but what do you do when you think about things? Actually, when thinking about things, we take the steps of (1) collecting related information, (2) considering the relevance between the information, ( 3) organizing and classifying the information, and (4) assembling the information to achieve the purpose  . These (2) and (3) are the main tasks of thinking, but the purpose is to do various things such as arranging and grouping the information gathered in my head while using words, figures and pictures, and chasing the relevance. Explore the path to achieve.

By the way, do you guys do the work of ② and ③ in a logical manner? In other words, do you come up with an answer by thinking in a state where you are aware of what you are thinking under the consciousness of manifestation ? If the content is not so difficult, you can come up with an answer by thinking in a logical way. However, in the case of a complicated problem, it may not be possible to come up with an answer that you can think of no matter how much you think . In such a case, are you conscious of thinking using the subconscious rather than the actual consciousness? In terms of going to the development of the software, you may also be the only conscious mind does not come out quite the solution, how to find a solution with even subconscious at such time, in short get inspiration also a method, technology only as It is my father’s idea that it is better to attach it to.

Posted by グータラ親父