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

Lec3

Share |
الكلية كلية العلوم للبنات     القسم قسم الحاسبات     المرحلة 3
أستاذ المادة زهراء عبد محمد       09/03/2017 18:50:22

Topics
Software Process
Software Lifecycle
Software Process Models
Software Process
As we mentioned earlier, a software process is a set of related activities that leads to the production of software. These activities may involve the development of software from scratch (from the very beginning, especially without making use of any previous work) in a standard programming language like Java or C. However, business applications are not necessarily developed in this way. New business software is now often developed by extending and modifying existing systems or by configuring and integrating standard software or system components.
There are many different software processes but all must include four activities that are fundamental to software engineering: Software specification, Software design and implementation, Software validation, and Software evolution.
In addition to activities in software processes, software processes may also include:
1. Products, which are the outcomes of a process activity. For example, the outcome of the activity of architectural design may be a model of the software architecture.
2. Roles, which reflect the responsibilities of the people involved in the process. Examples of roles are project manager, configuration manager, programmer, etc.
3. Pre- and post-conditions, which are statements that are true before and after a process activity has been enacted or a product

Software Engineering
produced. For example, before architectural design begins, a pre-condition may be that all requirements have been approved by the customer; after this activity is finished; a post-condition might be that the Unified Modeling Language (UML) models describing the architecture have been reviewed.
Software processes are complex and, like all intellectual and creative processes, rely on people making decisions and judgments. There is no ideal process and most organizations have developed their own software development processes. Processes have evolved to take advantage of the capabilities of the people in an organization and the specific characteristics of the systems that are being developed. For some systems, such as critical systems, a very structured development process is required. For business systems, with rapidly changing requirements, flexible process is likely to be more effective.
Software processes are categorized either to plan-driven or agile processes (quick and intelligent). A Plan-driven processes are processes where all of the process activities are planned in advance and progress is measured versus this plan. In agile processes, planning is incremental and it is easier to change the process to reflect changing customer requirements.
Software Lifecycle
Each software product proceeds to a number of distinct stages, these are:
Requirements engineering
Software design
Software construction
Validation and verification
Software testing
Software deployment
Software maintenance

Depending the software process used for the development of the software product, these stages may occur in different orders, or frequency.
Software Process Models
A software process model is a simplified representation of a software process. Each process model represents a process from a particular perspective (viewpoint), and thus provides only partial information about that process. Each process model follows a particular life cycle in order to ensure success in process of software development.
The most popular process models are:
1. The waterfall model: This takes the fundamental process activities of specification, development, validation, and evolution and represents them as separate process phases such as requirements specification, software design, implementation, testing, and so on.
2. Incremental development: This approach interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with each version adding functionality to the previous version.
3. Reuse-oriented software engineering: This approach is based on the existence of a significant number of reusable components. The system development process focuses on integrating these components into a system rather than developing them from scratch
The waterfall model:
One such approach/process used in Software Development is "The Waterfall Model". Waterfall approach was first Process Model to be introduced and followed widely in Software Engineering to ensure success of the project. In "The Waterfall" approach, the whole process

of software development is divided into separate process phases, these are:
Requirements analysis and definition: The system’s services, constraints, and goals are established by consultation with system users.
System and software design: The system design process allocates the requirements to either hardware or software system by establishing an overall system architecture. The software design involves identifying and describing the fundamental software system concepts and their relationships.
Implementation and unit testing: Implementation means the software design is accomplished as a set of programs or program units. Unit testing involves verifying that each unit meets its specification.
Integration and system testing: The individual program units or programs are integrated and tested as a complete system to ensure that the software requirements have been met. After testing, the software system is delivered to the customer.
Operation and maintenance: This is the longest life cycle phase. The system is installed and put into practical use. Maintenance involves correcting errors which were not discovered in earlier stages of the life cycle, improving the implementation of system units and enhancing the system’s services as new requirements are discovered.


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