Thursday, May 10, 2012

System life cycle process of ISO 12207:2008 Standard


1. System Life Cycle Processes
1.1 Agreement Processes
1.1.1 Acquisition Process
1.1.2 Supply Process
1.2 Organizational Project-Enabling Processes
1.2.1 Life Cycle Model Management Process
1.2.2 Infrastructure Management Process
1.2.3 Project Portfolio Management Process
1.2.4 Human Resource Management Process
1.2.5 Quality Management Process
1.3 Project Processes
1.3.1 Project Planning Process
1.3.2 Project Assessment and Control Process
1.3.3 Decision Management Process
1.3.4 Risk Management Process
1.3.5 Configuration Management Process
1.3.6 Information Management Process
1.3.7 Measurement Process
1.4 Technical Processes
1.4.1 Stakeholder Requirements Definition Process
1.4.2 System Requirements Analysis Process
1.4.3 System Architectural Design Process
1.4.4 Implementation Process
1.4.5 System Integration Process
1.4.6 System Qualification Testing Process
1.4.7 Software Installation Process
1.4.8 Software Acceptance Support Process
1.4.9 Software Operation Process
1.4.10 Software Maintenance Process
1.4.11 Software Disposal Process

1.1 Agreement Processes
1.1.1 Acquisition Process [buy something]
Purpose
The purpose of the Acquisition Process is to obtain the product and/or service that satisfies the need expressed by the acquirer. The process begins with the identification of customer needs and ends with the acceptance of the product and/or service needed by the acquirer.

Activities and tasks

            Acquisition preparation
  • The acquirer begins the acquisition process by describing a concept or a need to acquire,
  • develop or enhance a system, software product or software service. The acquirer shall define and analyze the system requirements.
  • The acquirer may perform the definition and analysis of software requirements by itself or may retain a supplier to perform this task.
                                    Acquisition advertisement
·         The acquirer shall communicate the request for the supply of a product or service to identified suppliers.

                                    Supplier selection
·         The acquirer should select a supplier based upon the evaluation of the suppliers' proposals, capabilities, and in accordance with the acquirer's acceptance strategy and conditions.

Contract agreement
·         The acquirer shall then prepare and negotiate a contract with the supplier that addresses the
acquisition requirements, including the cost and schedule, of the software product or service to be delivered.

Agreement monitoring
  • ·         The acquirer shall monitor the supplier's activities in accordance with the Software Review Process and the Software Audit Process.
  • ·         The acquirer shall cooperate with the supplier to provide all necessary information in a timely manner and resolve all pending items.

                                    Acquirer acceptance
  • The acquirer should prepare for acceptance based on the defined acceptance strategy and criteria. The preparation of test cases, test data, test procedures, and test environment should be included.
            Closure
  • The acquirer shall make payment or provide other agreed consideration to the supplier for the product or service rendered.
1.1.2 Supply Process
Purpose
The purpose of the Supply Process is to provide a product or service to the acquirer that meets the agreed requirements.

Activities and tasks

            Opportunity identification
  • The supplier should determine the existence and identity of an acquirer who has, or who represents an organization or organizations having, a need for a product or service.

            Supplier tendering
  • The supplier should make a decision to bid or accept the contract.
  • The supplier shall prepare a proposal in response to the request for proposal.

            Contract agreement
·         The supplier shall negotiate and enter into a contract with the acquirer
·         The supplier may request for modification to the contract

            Contract execution
  • The supplier shall conduct a review of the acquisition requirements to define the framework for managing and assuring the project and for assuring the quality of the deliverable software product or service.

            Product/service delivery and support
  • The supplier shall deliver the software product or service as specified in the contract.
  • The supplier shall provide assistance to the acquirer in support of the delivered software product or service
Closure
  • The supplier shall accept and acknowledge payment or other agreed consideration.
  • The supplier shall transfer the responsibility for the product or service to the acquirer,
1.2 Organizational Project-Enabling Processes
1.2.1  Life Cycle Model Management Process
Purpose
The purpose of the Life Cycle Model Management Process is to define, maintain, and assure availability of policies, life cycle processes, life cycle models, and procedures for use by the organization with respect to the
scope of this International Standard.
Activities and tasks

            Process establishment
  • The organization shall establish a suite of organizational processes for all software life cycle processes and life cycle models as they apply to its business activities.
            Process assessment
  • The organization should develop, document and apply a process assessment procedure. Assessment records should be produced and maintained.
            Process improvement
  • The organization shall effect such improvements to its processes as it determines to be necessary as a result of process assessment and review. Process documentation should be updated to reflect improvement in the organizational processes.

1.2.2 Infrastructure Management Process
Purpose
The purpose of the Infrastructure Management Process is to provide the enabling infrastructure and services to projects to support organization and project objectives throughout the life cycle.This process defines, provides and maintains the facilities, tools, and communications and information technology assets needed for the organization’s business with respect to the scope of this International Standard.

Activities and tasks
            Process implementation
  • The infrastructure should be defined and documented to meet the requirements of the process employing this process, considering the applicable procedures, standards, tools, and techniques.
            Establishment of the infrastructure
  • The configuration of the infrastructure should be planned and documented.
            Maintenance of the infrastructure
  • The infrastructure shall be maintained, monitored, and modified as necessary to ensure that it continues to satisfy the requirements of the process employing this process. 
1.2.3 Project Portfolio Management Process
Purpose
The purpose of the Project Portfolio Management Process is to initiate and sustain necessary, sufficient and suitable projects in order to meet the strategic objectives of the organization.

Activities and tasks
            Project initiation
  •  The organization shall define accountabilities and authorities for each project.
  • The organization shall identify the expected outcomes of the projects.
  •  The organization shall allocate resources for the achievement of project objectives.
            Portfolio evaluation
  • The organization shall evaluate ongoing projects to confirm that Projects are making progress towards achieving established goals.
            Project closure
  • After completion of the agreement for products and services, the organization shall act to close the project per organizational policies and procedures and the agreement.
1.2.4 Human Resource Management Process
Purpose
The purpose of the Human Resource Management Process is to provide the organization with necessary human resources and to maintain their competencies, consistent with business needs.

Activities and tasks
            Skill identification
            Skill development
            Skill acquisition and provision
            Knowledge management

1.2.5 Quality Management Process
Purpose
The purpose of the Quality Management Process is to assure that products, services and implementations of life cycle processes meet organizational quality objectives and achieve customer satisfaction..

Activities and tasks
            Quality management
  • The organization shall establish quality management policies, standards and procedures.
  • The organization shall establish organization quality management goals and objectives based on business strategy for customer satisfaction.

            Quality management corrective action
  • The organization shall take corrective actions when quality management goals are not achieved.

1.3 Project Processes
1.3.1 Project Planning Process
Purpose
The purpose of the Project Planning Process is to produce and communicate effective and workable project plans.

Activities and tasks
            Project initiation:
The manager shall establish the requirements of the project to be undertaken.

            Project planning
The manager shall prepare the plans for execution of the project.

            Project activation
  • The manager shall obtain authorization for the project.
  •  The manager shall submit requests for necessary resources to perform the project.

1.3.2 Project Assessment and Control Process
Purpose
The purpose of the Project Assessment and Control Process is to determine the status of the project and ensure that the project performs according to plans and schedules, and within projected budgets, and that it satisfies technical objectives.

Activities and tasks
            Project monitoring
            Project control
            Project assessment
            Project closure

1.3.3 Decision Management Process
Purpose
The purpose of the Decision Management Process is to select the most beneficial course of project action where alternatives exist.

Activities and tasks
            Decision planning:
  • The project shall define a decision-making strategy.

            Decision analysis
            Decision tracking

1.3.4 Risk Management Process
Purpose
The purpose of the Risk Management Process is to identify, analyze, treat and monitor the risks continuously. The Risk Management Process is a continuous process for systematically addressing risk throughout the life
cycle of a system or software product or service. It can be applied to risks related to the acquisition, development, maintenance or operation of a system.

Activities and tasks
            Risk management planning
            Risk profile management
            Risk analysis
Risk treatment
Risk monitoring
Risk management process evaluation

1.3.5 Configuration Management Process
Purpose
The purpose of the Configuration Management Process is to establish and maintain the integrity of all identified outputs of a project or process and make them available to concerned parties.

Activities and tasks
Configuration management planning.
Configuration management execution.


1.3.6 Information Management Process
Purpose
The purpose of the Information Management Process is to provide relevant, timely, complete, valid and, if , confidential information to designated parties during and, as appropriate, after the system life cycle.

Activities and tasks
Information management planning.
Information management execution.

1.3.7 Measurement Process
Purpose
The purpose of the Measurement Process is to collect, analyze, and report data relating to the products developed and processes implemented within the organizational unit, to support effective management of the processes, and to objectively demonstrate the quality of the products.

Activities and tasks
Measurement planning.
Measurement performance.
Measurement evaluation.

1.4 Technical Processes
1.4.1 Stakeholder Requirements Definition Process
Purpose
The purpose of the Stakeholder Requirements Definition Process is to define the requirements for a system that can provide the services needed by users and other stakeholders in a defined environment.
It identifies stakeholders, or stakeholder classes, involved with the system throughout its life cycle, and their needs and desires. It analyzes and transforms these into a common set of stakeholder requirements that express the intended interaction the system will have with its operational environment and that are the reference against which each resulting operational service is validated in order to confirm that the system fulfils needs.

 Activities and tasks
Stakeholder identification.
Requirements identification.
Requirements evaluation.
Requirements agreement.
Requirement recording.


1.4.2 System Requirements Analysis Process
Purpose
The purpose of System Requirements Analysis is to transform the defined stakeholder requirements into a set of desired system technical requirements that will guide the design of the system.

Activities and tasks
Requirements specification.
The system requirements specification shall describe: functions and capabilities of the system;
business, organizational and user requirements; safety, security, human-factors engineering (ergonomics),interface, operations, and maintenance requirements; design constraints and qualification requirements. The system requirements specification shall be documented.

Requirements evaluation
system requirements shall be evaluated considering the criteria listed

1.4.3 System Architectural Design Process
Purpose
The purpose of the System Architectural Design Process is to identify which system requirements should be allocated to which elements of the system.

Activities and tasks
Establishing architecture.
Architectural evaluation.



1.4.4 Implementation Process
Purpose
The purpose of the Implementation Process is to realize a specified system element.

Activities and tasks

1.4.5 System Integration Process
Purpose
The purpose of the System Integration Process is to integrate the system elements (including software items, hardware items, manual operations, and other systems, as necessary) to produce a complete system that will satisfy the system design and the customers’ expectations expressed in the system requirements.

Activities and tasks
Integration.
Test readiness.

1.4.6 System Qualification Testing Process
Purpose
The purpose of the Systems Qualification Testing Process is to ensure that the implementation of each system requirement is tested for compliance and that the system is ready for delivery.

Activities and tasks
Qualification testing.

1.4.7 Software Installation Process
Purpose
The purpose of the Software Installation Process is to install the software product that meets the agreed requirements in the target environment.

Activities and tasks
Software installation.

1.4.8 Software Acceptance Support Process
Purpose
The purpose of the Software Acceptance Support Process is to assist the acquirer to achieve confidence that the product meets requirements.

Activities and tasks
Software acceptance support.

1.4.9 Software Operation Process
Purpose
The purpose of the Software Operation Process is to operate the software product in its intended environment and to provide support to the customers of the software product.

Activities and tasks
Preparation for operation.
Operation activation and check-out.
Operational use.
Customer support.
Operation problem resolution

1.4.10 Software Maintenance Process
 Purpose
The purpose of the Software Maintenance Process is to provide cost-effective support to a delivered software product.

Activities and tasks
Process implementation.
Problem and modification analysis.
Modification implementation.
Maintenance review/acceptance.
Migration

1.4.11 Software Disposal Process
Purpose
The purpose of the Software Disposal Process is to end the existence of a system’s software entity.

Activities and tasks
Software disposal planning.
Software disposal execution.


Monday, April 23, 2012


PROJECT  TITLE:  Boundary Extraction By Dilation and Erosion (With MatLab)

Write a computer program to implement morphological boundary extraction capable of performing binary dilation and erosion with an arbitrary structuring element of size 3 x 3 that can be specified by the user.
ABSTRACT:
Mathematical morphology is one of the data processing methods that is extremely useful for image processing and has many applications, such as, boundary extraction ,noise elimination, shape description, texture analysis, and so on. The mathematical base of morphological processing is dilation and erosion which are described by set analysis and can be expressed in logical AND, OR notation .The objective of this project is to write a program capable of performing binary dilation and erosion with an arbitrary structuring element of size 3 x 3 that can be extracted the boundary or edge of an image. To simulate these two operations, image processing toolbox functions of MATLAB programming language is used.
Morphology, Dilation and Erosion:
¨  Morphology: The word morphology signifies the study of form or structure. In image processing we use mathematical morphology as a means to identify and extract meaningful image descriptors based on properties of form or shape within the image.
¨  Dilation: Dilation is an operation that ‘grows’ or ‘thickense’ objects in a binary image.  Mathematically, dilation is defined in terms of set operations. The dilation of A and B is defined as  
                                                                                          
 ¨  Erosion: Erosion is an operation that ‘Shrinks’ or ‘thins’ objects in a binary image. The mathematical definition of erosion of A by B is defined as
                                                                                             
¨  Structuring Element: A structuring element is a rectangular array of pixels containing the values either 1 or 0 (akin to a small binary image). Structuring elements have a designated center pixel. An example of Structuring element 


Fig 1: The local neighborhood defined by a structuring element. This is given by those shaded pixels in the image which lie beneath the pixels of value 1 in the structuring element

In Matlab, to construct the structuring element array by using ‘strel’ function. The example below illustrates how Matlab displays when a strel object is created:

>> se3 = strel (‘disk ’, 3); % A disk of radius 3

Which displays the matrix as follows:


Algorithm for Boundary Extraction:

¨  Erosion Algorithm: The boundary of a set A, denoted by β(A), can be obtained by first eroding A by B and then performing the set differences between A and its erosion. That is,
              β(A)=A – (AΘB)
            where B is a suitable structuring element. ‘‘ is the difference operation on sets.

¨  Dilation Algorithm: The boundary of a set A, denoted by β(A), can be obtained by first dilating A by B and then performing the set differences between A and its erosion. That is,
            β(A)= (A  B) – A
            where B is a suitable structuring element. ‘‘ is the difference operation on sets.

Dilation Operation:  Three pixel-long diagonal line with the origin at the center


When the structuring element overlaps 1-valued pixels, the pixel at the origin is marked 1. In Matlab, we can carry out image dilation using the Image Processing Toolbox functions imdilate.
>>imdilate_image = imdilate(Orginal_binary_image,structuring_element_array);

Erosion Operation: a three-pixel-long vertical line with the origin at the center


In Matlab, we can carry out image erosion using the Image Processing Toolbox functions “imerode”.
>>imerode_image = imerode(Orginal_binary_image , structuring_element_array);


Results of Dilation:




Results of Erosion:


Discussion:

In the above result, it is shown that the two morphological operations of Dilation and Erosion is applied for our selected black and white image. To simulate these two operations, image processing toolbox functions of MATLAB programming language is used.  

At first the original image (linkon.tif) is represented to the Binary image by using the matlab built-in function of imread(). And then I select structuring element of size 3 x 3 long diagonal line for dilation and structuring element of size 3 x 3 long vertical line.

The  matrix is generated by using the Matlab image processing toolbox functions. The matrix has a 1-valued center pixel and R is the radius of the disc which is 3 here.  For the dilation process, I need two images where A is the original image and B is the structuring element considering as a subimage. Then applying the dilation process by using equation (1) which grows or thickens objects of the binary image Fig 2(a)  with matlab function of imdilate() and Fig 2(B) has got after dilation. Next, the boundary extraction algorithm for dilation is applied and extracts the boundary from the original image and finally got the Fig 2(C).
In similar way, to extract the boundary of original image by using erosion process need to represent the image as binary then create an structuring element of size 3x3 Then applying the erosion process by using equation (2) which Shrinks or thins objects of the binary image Fig 3(a) with matlab function of imerode() and Fig 3(B) has got after erosion. After completing the erosion process then apply the boundary extraction algorithm to extract the boundary from the original image and got the Fig 3(C).
So, the objective in this project is to extract the boundary of an image performing two binary dilation and erosion operation with an arbitrary structuring element of size 3 x 3. Now the project is successfully completed and extracted the boundary from any types of binary image.

Appendix:

¨  Boundary Extraction with the help of Dilation:
            A=imread('linkon.tif');
            s=strel('disk',3);           %Structuring element
            F=imdilate(A,s);          %Dialte the image by structuring element
             figure,imshow(A);title('Original Image');
            figure,imshow(F);title('Imdilate Image');
            figure,imshow(F-A);title('Boundary extracted Image with using imdilate');

¨  Boundary Extraction with the help of Erosion:
            A=imread('linkon.tif');
s=strel('disk',3)            %Structuring element
            F=imerode(A,s);          %Erode the image by structuring element
            figure,imshow(A);title('Original Image');
            figure,imshow(A-F);title('Boundary extracted Image with using imerode');

References
1. "Fundamentals of Digital Image Processing", Chris Solomon and Toby Breckon, Wiley Publications. 1st edition.
2. “Digital Image Processing Using Matlab”, Rafael C. Gonzalez, Richard E. Woods and Steven L. Eddins, 2nd edition.
3. “Discrete Mathematics”, Seymour Lipschutz and Marc Lars Lipson, 2nd edition, Mcgraw-hill publication.