Attributes that mean properties as well as how you can define the jobs of software. Attributes define the quality. In the software engineering, a good software attributes the heart of the computer. To be an expert in the field of computer science requires an in-depth knowledge of the software.
What is it ? How does it work? How is it created? How does it interact with the computer? What makes one piece of software superior to another piece?
The software should deliver the required functionality and performance to the user and should be maintainable, dependable and acceptable.
Software must evolve to meet changing needs; Measuring and monitoring maintainability is a must for mission-critical applications where change is driven by tight time to market schedules and where it is important for IT to remain responsive to business-driven changes. It is also essential to keep maintenance costs under control.
Software must be trustworthy and high proficiency.
Software should not make wasteful use of system resources. The source code and software developed attributes are the elements that ensure high performance once the application is in run-time mode. does the software make good use of its resources (memory, disk, CPU, network)?
A measure of the likelihood of potential security breaches due to poor coding practices and architecture. This quantifies the risk of encountering critical vulnerabilities that damage the business. does the software protect the information it is responsible for?
Software must be accepted by the users for which it was designed. This means it must be understandable, usable and compatible with other systems.
Can the software to easily ported (moved) to another operating system. Some software is portable that can bear in the flash disk and do works into another operating system.
Software Engineering |
Software Engineering is an engineering discipline that is concerned with all aspects of software production. Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available. Software Engineering is still being debated by practitioners today as they struggle to come up with ways to produce software that is ” cheaper, better, faster “.
Software engineering is not just concerned with the technical processes of software development. It also includes activities such as software project management and the development of tools, methods, and theories to support software production.
Software Engineers adopt a systematic and organized approach to their work, as this is often the most effective way to produce high-quality software. However, engineering is all about selecting the most appropriate method for a set of circumstances so a more creative, less formal approach to development may be effective in some circumstances. Less formal development is particularly appropriate for the development of web-based systems, which requires a blend of software & graphical design skills.
Software engineering is important for two reasons:
1. More and more, individuals and society rely on advanced software systems. We need to be able to produce reliable and trustworthy systems economically and quickly.
2. It is usually cheaper, in the long run, to use software engineering methods and techniques for software systems rather than just write the programs as if it was a personal programming project. For most types of systems, the majority of costs are the costs of changing the software after it has gone into use.
Open source software started to appear in the early 90s in the form of Linux and other software introducing the “bazaar” or decentralized style of constructing software.
Legal requirements for the licensing or certification of professional software engineers vary around the world. In the UK, the British Computer Society licenses software engineers and members of the society can also become Chartered Engineer (CEng), while in some areas of Canada, such as Alberta, Ontario and Quebec, software engineers can hold the Professional Engineer (P.Eng.) designation and or the Information System Professional [I.S.P] designation.
The IEE Computer Society and the ACM, the two main US – based professional organizations of software engineering, publish guides to the profession of software engineering.
Difference between Software Engineering and Computer Science |
Software Engineering is concerned with the practicalities of developing and delivering useful software; Computer science is concerned with theory and fundamentals. Computer Science theories are still insufficient to act as a complete underpinning for software engineering (unlike e.g. physics and electrical engineering).
Difference between Software Engineering and System Engineering |
System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this process concerned with developing the software infrastructure, control, applications and databases in the system.
Finally I likes to tell that
To become a software developer, you must should be know different programming language, high level Programming Language, graphic design including difficult mathematics, logical mathematics. Software engineer is not a small fact, that is large fact, but shortly say that a Software Engineer develop, evolution all hardware systems, software policy design – process of the complex system as well as analysis the software.
Try to respect to Software Engineer as well as all Engineers.