Introduction to computer software

Introduction to computer software

Hello my dear friends! Hope you all are doing well. Today we are going to discuss about software engineering. There are so much things to learn in software engineering. Today we are going to learn about computer software. Software engineering is not just knowing a language and you are developing. Yes you can do like so but it will be something a empty pot. You have to do the practices with the knowledge then only you can be professionalism and have ethics and also idea about this field. A man who knows the things.

In this informational world you can learn one language easily and start developing software and become a company owner. But is it really professionalism? Always keep this thing in mind educating yourself about theories never goes waste. Most of people thinks these are theories they are just for the books. But the real thing is they are not just for the books that is the place where you learn things for the actual. So never under estimate learning these theories. Let’s come to the today’s topic.

What is a software?

Software is a set of instructions that execute on a computer hardware. Software are made with programming languages. By using programming languages we write the instructions. So software are always doing what you told it’s to do. What you have write in your instructions. To run a software we need set of hardware. Without hardware we cannot run a software.

Who is the first programmer?

First programmer is a lady. She is Ada Lovelace. She was the first programmer.

Classification of software

In software engineering we have several types of software classifications. They are one is we can divide software as system software and application software. That is the basic major classification we have. Application software are the software which do a particular task. System software provide a platform to run application software. And also we have

  • business software
  • real time software
  • embedded software
  • Custom software and generic software.

What is software engineering?

Software engineering is the systematic application of engineering approaches to the development of software.

Features in software

Software is intangible – Hardware is tangible. That means we can touch, see, feel but software we can’t touch and see. We see the interface of software not the software. We can’t show a physical component as this is the software.

Software is easy to reproduce – Software is a set of instructions. We have software reusability. We can use the previous components for development. Creating a software again compared to other engineering disciplines it’s easy. Reproduce a damage car and reproduce a software is easier.

What is software crisis?

is a term used in computer science for the difficulty of writing useful and efficient computer programs in the required time.

Who are stakeholders?

Stakeholders are party that has an interest in a company and can either affected or be affected by the business.

Who are the stakeholders in software engineering?

  • Users
  • Customers
  • Managers
  • Developers

What is software quality?

The software quality is by using the software users can able to do the tasks. That means the software is fulfilling its functional requirements. A quality software means in other words simply a usable software. To ensure the software quality there are two approaches. One is defect management other one is quality attributes.

Defect management

In the defect management we are identifying the software defects. Defects happens due to coding errors, validation issues, gaps in the requirements or requirements misunderstanding.

Software quality attributes

Software quality attributes are set of attributes which defined according to quality standards from quality maintaining organizations like ISO. Let’s look at few quality attributes.

  • Safety
  • Security
  • Reliability
  • Usability
  • Operability
  • Maintainability
  • Effectiveness

Cyclomatic complexity

Now we are going to learn about cyclomatic complexity. A software is a combination of thousand lines of codes. Therefore we can measure software quality by the code complexity. When it became more complex it’s not easy to either test or understand.

Cyclomatic complexity is a software matrix which gives quantitative measure of logical complexity of program. There are three methods of computing Cyclomatic complexities.

Method 1: Total number of regions in the flow graph is a Cyclomatic complexity

Method 2: V (G) = E – N + 2

E is total number of edges in the flow graph. N is the total number of nodes in the flow graph

Method 3: V (G) = P + 1

P is the total number of predicate nodes contained in the flow G.

What is software over-engineering?

As you know software goes through numerous changes after it’s deployed. Therefore the software architecture should be compatible to bear the modifications. If you have idea to build two floor building the foundation should strong enough to bear two floors. If it’s not capable of having two floors then you have to break the whole building and start to build it with a new foundation.

Now think you have idea to build two floor building but your engineer build it like to have 10 floors which you don’t need. It is waste of time and money. This we known as software over engineering.

What is software framework?

A framework is a software system designed to be reused in different projects or in the various products of product line.

Conclusion

Hope you have understood many concepts related to software. We will discuss another interesting theories about software engineering in future. Until then goodbye all.

Audy Ranathunga

Audy Ranathunga, Author of myexamnote is our most experienced author. She has been working as a blog post writer for 4 years. She joined with myexamnote before 1 year ago and she has contribute lots of valuable posts for readers.

This Post Has 11 Comments

  1. Avatar
    Kirby Hessing

    Everything is very open with a really clear description of the challenges. It was definitely informative. Your site is useful. Thank you for sharing!

    1. Audy Ranathunga
      Audy Ranathunga

      Thank you very much. Keep reading myexamnote

  2. Avatar
    zoritoler imol

    I have been surfing on-line more than three hours these days, but I by no means discovered any interesting article like yours. It is lovely price enough for me. Personally, if all site owners and bloggers made excellent content material as you did, the net will likely be much more helpful than ever before.

    1. Audy Ranathunga
      Audy Ranathunga

      Thank you.

  3. Avatar
    Rodrick Martorana

    Valuable information. Lucky me I found your site by accident, and I am shocked why this accident didn’t happened earlier! I bookmarked it.

    1. Audy Ranathunga
      Audy Ranathunga

      Thank you so much.

    1. Audy Ranathunga
      Audy Ranathunga

      Thank you.

  4. Avatar
    Ula Keanum

    You actually make it appear really easy with your presentation but I to find this matter to be actually one thing that I believe I’d never understand. It sort of feels too complex and extremely vast for me. I am taking a look ahead on your next post, I will try to get the grasp of it!

    1. Avatar
      myexamnotez

      Thank you for your comment. Please keep reading us.

Leave a Reply