Home > Articles > Software Development & Management > UML

This chapter is from the book

3.2 The Process Metamodel

3.2.1 Describing the Process Metamodel

In order to better understand the three dimensions of the process described above, and to further describe the various elements of a process as applicable to UML-based software development, we created the metamodel shown in Figure 3.1. It is not a formal metamodel, but one created to explain the process-components described later in this chapter. A metamodel is a succinct and helpful way of understanding things. For example, the UML has a metamodel that encapsulates the rules that govern the creation of UML diagrams. A look at the UML metamodel can tell us how a class relates to the attributes and operations inside of it.

Figure 3.1Figure 3.1 A Quality Software Process Metamodel (using UML notations)

The purpose of the process metamodel, as shown in Figure 3.1, is to provide the underlying rules for how the process elements connect to and relate with each other. Discussions on formalizing a process metamodel are underway at the OMG. In the meantime, this simplistic process metamodel serves our purpose of discussing and creating a Quality Software Process (QSP). The metamodel shown in Figure 3.1 uses the UML's class diagram notations, which readers should know. It can be interpreted as follows:

The process-component is shown as the building block for the process. This process-component is made up of activities, deliverables, and roles. Activities associate with tasks. The lifecycle provides the philosophical background for construction of a process. Examples of software lifecycles are shown as waterfall, spiral, and fountain models. A Software Engineering Process (SEP) is based on this lifecycle. In order to create a SEP, the process-components are instantiated. The SEP is made up of iterations, which can be 1, 2, 3, and so on. Similarly, a SEP is also made up of increments, which are first, second, and third (and can be many more). Increments are made up of iterations.

Each of these elements, appearing in the process metamodel, is further described with their corresponding notations.

3.2.2 Process Ingredients

Figure 3.2 shows the notations that are used to describe a process. These notations represent the elements that constitute the "what," "how," and "who" of the process. Some of these notations are UML-like, such as the role. Others, like deliverables, are needed to express the process aspect. These notations are also simple. They can be easily written on whiteboards, facilitating process-based discussion and leaving the opportunity open for other uses of these process elements, such as describing processes in a typical business exercise. These process elements can also be inserted in a process-based CASE tool that in medium to large projects will greatly ease their enactment. Each of the process elements shown in Figure 3.2 is described in the subsequent sections.

Figure 3.2Figure 3.2 Notations used to describe various process ingredients

3.2.3 The Role Element in a Process

The role provides a descriptive profile of the person who is involved in executing the process. In a quality-conscious process, this role is properly defined and documented. A person will fulfill the description of the role provided here. The person playing the given role is responsible for carrying out the process. He or she can also be the recipient of the process. If use case proponents wish to use the term actor, they may—despite the fine difference between actor and role. Some of the characteristics of a good quality role are:

  • The role is well defined and is understood by the person who is responsible for the role.

  • The person playing the role should be able to understand the activities that he is responsible for.

  • The role must be assigned the suite of activities and tasks that the role player is capable of performing.

  • Depending on the scope of the process, the actor element can have multiple instances. For example, a large development process may have 20 programmers but a small-scoped process may have only two.

  • Examples of roles defined for a UML-based project include Project Manager, Business Analyst, System Designer and Tester, and Developer/Programmer.

3.2.4 The Activity Element in a Process

The activity is the description of the responsibility of the role in the process. The activity element is shown with an elliptical rectangle, and it describes in general what the role encompasses. Activities have a sequence or dependencies. Some activities can also be performed in parallel by more than one role. The activity element in a process is the controlling element for a set of tasks within the process. Therefore, the activity element on its own doesn't have the same concrete existence as the tasks. Actors playing the roles described above carry out the activities by performing a sequence of tasks within the activities. Some of the characteristics of an activity element are:

  • Activity is the overall controlling element for a set of tasks.

  • It is helpful in understanding the flow of events.

  • Some activities may begin before others end. Thus, activities may be carried out in parallel.

  • Activities are accomplished by completing the set of tasks which they encompass.

  • It is not essential for all tasks within an activity to be accomplished in a single iteration.

  • Example activities within UML-based projects include storyboarding, business class modeling, use case modeling, operational analysis, advanced interface design, quality resourcing, and test execution.

3.2.5 The Task Element in a Process

The task element in a process discipline is the atomic element in the working of a process. As shown in Figure 3.2, tasks are rectangles with rounded edges. Tasks are carried out under the umbrella of the encompassing activity. Thus, the purpose of the well-defined tasks is to complete the activity under which they fall. Some characteristics of the task element include the following:

  • They are the performing elements in a process; that is, they don't need to be further subdivided before they are performed.

  • A set of tasks belongs to an activity.

  • In the overall process, these tasks are usually carried out in a specific sequence. The designer of the process usually specifies the sequence.

  • However, since activities may sometimes be performed in parallel, so can tasks.

  • The result of the execution of tasks in a sequence is the completion of an activity.

  • Tasks have a concrete existence of their own. This implies that when a task is completed, it is effectively an incremental completion of the activity under which the task is performed.

  • Tasks are what the project manager puts in a project plan. Thus, they can be assigned a time for completion and resources to complete them.

  • Examples of tasks in a UML-based project are draw a business class diagram, conduct research, apply equality review, and execute a prototype.

  • Techniques for carrying out a task may be described.

3.2.6 The Deliverable Element in a Process

A deliverable is the final output or result of the process. The roles (actors) are involved in performing various activities, which are carried out by executing a set of well-defined tasks. These tasks result in creating and upgrading what are called deliverables. Since deliverables are the result of work carried out by the roles, they are also called "work products." Deliverables can be concrete, as in a set of documents, or they can be abstract, as in a motivated work force (which results from work performed by a project manager). In our cooking example, the final deliverable is a baked cake. Deliverables in a UML-based project are usually produced iteratively. That means, even if a deliverable is shown as being produced as a result of activities, only some of the tasks within the activities will result in a partial completion of the deliverables. Eventually, more activities and tasks within the activities will be performed to complete the deliverable. This deliverable and its corresponding notation are shown in Figure 3.2.

3.2.7 A Process-Component

A process-component is a collection of a subset of the activities, tasks, roles, and deliverables in a process. Thus, a process-component indicates a logical collection of process elements that combine to accomplish a sizeable chunk of the process. The term process-component signifies that a suite of process elements is treated as a component, having a common set of roles working on a logically cohesive set of activities and tasks, resulting in a significant deliverable within that area of the process. Examples of process-components in a UML-based project are Business Evaluation, Requirements Modeling, System Architecture, and Quality Control.

3.2.8 Iterations

An iteration signifies an execution of a sequence of process-components, but with varying intensity. For example, some process-components related to evaluating the business proposal for a project are performed with high intensity in the first iteration, but the process-components dealing with requirements modeling are performed with high intensity in the second iteration. An iteration in a medium-sized project may last for about three months, at the end of which reviewable deliverables should be produced. Larger projects will need more time to complete iteration.

3.2.9 -Putting Together a Process-Component: A Baking Process

Once the notations are described and understood by the process participants, the representation of the process by means of a diagram plays a significant part in conveying the activities, their sequence, the final deliverable being produced, and the roles responsible for producing those deliverables. Figure 3.3 shows graphically, by using the notations described in detail in the previous section, the simple baking process that we have been using as an example.

  • There are three formal roles that are involved in this process-component. They are the chef, the food inspector (quality manager), and the consumer.

  • The process is made up of a series of activities: environment creation, baking, quality checking, and consuming. Each of these activities has a set of tasks to go with it. For example, environment creation will have the tasks of procuring the raw materials, like sugar and butter, and preparing the kitchen. The activity of baking includes tasks like mixing the batter, preheating the oven, putting the pan in the oven, and taking the cake out of the oven at the right time. For a large cake (for example, a wedding cake) the activity of quality checking will come into play, followed by consumption. Consumption activity is shown as iterative, and it may be performed numerous times. The consumers of the cake will be multiple people filling the role.

  • The final deliverable is shown as a baked caked. If necessary, the raw materials going into the process-component can also be shown (they are not shown here).

Figure 3.3Figure 3.3 Putting together an example baking process-component

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020