انت هنا الان : شبكة جامعة بابل > موقع الكلية > نظام التعليم الالكتروني > مشاهدة المحاضرة

Software Engineering Lec1

Share |
الكلية كلية العلوم للبنات     القسم قسم الحاسبات     المرحلة 3
أستاذ المادة فرح محمد حسن عبد الحسين الشريفي       09/02/2020 09:59:00
What is Software ?

The widely-held belief of software is simply another word for computer programs. However, software is not just the programs themselves but also all associated documentation and configuration data that is required to make these programs operate correctly. Documentations include system documentation, which describes the structure of the system; user documentation, which explains how to use the system, and websites for users to download recent product information.
Accordingly, Software can be defined as computer programs and associated documentation. Software products may be developed for a particular customer or may be developed for a general market. Therefore, there are two types of software products:
1. Generic products: These are products that are developed to be sold to a range of different customers. Examples of this type include software for PCs such as databases, word processors, drawing packages, and project management tools. It also includes applications designed for some specific purposes, such as library information systems, accounting systems, or systems for maintaining dental records.
2. Customized products: These are systems that are especially developed to be used by a particular customer. Examples of this type of software include control systems for electronic devices, systems written to support a particular business process, and air traffic control systems.
A good software should deliver the required functionality to the user and should be maintainable, dependable, and usable. The economies of all developed nations are dependent on software. In addition, more and more systems are software controlled. Therefore, any failure in the software can be very serious (e.g., medical systems that has a software which is responsible of delivering doses of medicine). As a consequence, there is a need for methods and techniques that is capable of managing this difficulty, i.e., producing software has a very low chance of faulting.
What is Software Engineering?

Software engineering is concerned with theories, methods and tools for professional software development. More precisely, Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.
Software engineers should adopt a systematic and organized approach to their work, and should use appropriate tools and techniques depending on the problem to be solved, the development constraints, and the available resources.

Software Engineering History

The notion of ‘software engineering’ was first proposed in 1968 at a conference held to discuss the ‘software crisis’. The software crisis was the name given to the difficulties encountered in developing large and complex systems in the 1960s. At that time, the individual approaches to program development did not scale up to large and complex software systems. These were unreliable, cost more than expected, and were delivered late. Therefore, the need for new methods and techniques to manage the production of complex software. Throughout the 1970s and 1980s, a variety of new software engineering techniques and methods were developed, such as structured programming, information hiding and object-oriented development.

Why Software Engineering is important ?

Software engineering is important for two reasons:
1. Needing to produce reliable and trustworthy systems. Thus, individuals and society rely on advanced software systems.
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.

What is the Difference Between Software Engineering and Computer Science?

1. Computer science is concerned with the theories and methods that underlie computers and software systems, whereas software engineering is concerned with the practical problems of producing software.
2. Computer science theory is often most applicable to relatively small programs. While, refined theories of computer science cannot always be applied to large and complex problems that requires a software solution. Computer science theories are currently insufficient to act as a complete underpinning for software engineering, BUT it is a foundation for practical aspects of software engineering.

What is the Similarity Between Software Engineering and System Engineering?

System engineering is concerned with all aspects of the development and evolution of complex systems where software plays a major role. System engineering is therefore concerned with hardware development, policy and process design and system deployment, as well as software engineering. System engineers are involved in specifying the system, defining its overall architecture, and then integrating the different parts to create the finished system.


المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .
الرجوع الى لوحة التحكم