CHAPTER 01 :
AN INTRODUCTION TO WEB ENGINEERING
00:00:00:29 - 00:00:35:00
Unknown
Welcome to the course. Chapter One - An Introduction to Web Engineering. The content is provided under Common Creative License. Chapter Outlines. We will begin the chapter with the introduction and then we will discuss on the motivation behind Web Engineering. After that, we're going to identify the categories of web applications, followed by the characteristics of web applications. And then we're going to discuss on the evolution of web engineering.
00:00:35:10 - 00:01:09:11
Unknown
And then finally, we'll close the chapter with the conclusion. Learning Outcomes. By the end of the chapter, students should be able to explain how web engineering manage complexity and diversity of large scale web development, differentiate different categories of web applications, and identify the characteristics of applications. Learning Outcome Number One. Explain how web engineering manage complexity and diversity of large scale web development.
00:01:09:11 - 00:01:53:20
Unknown
Introduction. Introduction. Before we proceed with the rest of the chapter, let's look into the differences between webpages, websites and web applications. Web pages are single documents that may contain text, graphics and etc. Web pages are created using Hypertext Markup Language or HTML. Thus, the filename will ends with dot html. Webpages are accessible through URL address in the web browser. Websites.
00:01:54:03 - 00:02:35:10
Unknown
Websites are a group of well-structured and interlinked web pages. There are two types of websites, static websites, and also the dynamic websites. Static websites display to the end user every line exactly as they are stored on the server. While dynamic websites may contain content that is generated on the fly by server-side program. Web Applications. Web applications are server-side software program that is delivered over the Internet through a browser interface.
00:02:35:10 - 00:03:11:29
Unknown
It is similar to desktop applications, but they are complicated and are based on user engagement. Motivation Behind Web Engineering. Let's see the main motivation behind web engineering. What are the main issues of web application? Web applications are very complex due to several reasons. So the development of web applications requires some principles of web engineering. Just as we have for traditional software engineering.
00:03:12:12 - 00:03:40:07
Unknown
Web engineering also includes the range of all activities that result in a good quality and reliable websites as well as web application. Web site is different from a Web application. This is because of the very nature of these web applications. The differences between a Web site and a Web application lie in the point of reference. A Web site is actually different from a Web application.
00:03:40:18 - 00:04:23:11
Unknown
A Web site generally consists of static pages. On the other hand, a web application comprises both static pages and dynamic pages. In a survey conducted by Cutter Consortium, they managed to identify few problems related to web projects. The problems of web projects are as the followings. It is reported that 84% of the projects failed to meet business needs, and another 79% of the projects are having problems with time slippages, cost overruns 60% of the projects, 53% of the projects are lacking of functionality.
00:04:23:20 - 00:05:00:15
Unknown
And finally, 52% of the projects having problems with the poor quality of deliverables. Web Crisis. Now, a new form of crisis has appeared, and this is known web crisis. Many organizations are heading towards a web crisis as they are not able to keep the system updated. The proliferation or the increase of the web crisis involved the quickly hacked together systems that are kept without any systematic approaches.
00:05:01:22 - 00:05:34:02
Unknown
The term web application or web app encompasses everything from a single webpage that might help the consumer compute an automobile payment to a comprehensive website that provides complete travel services for corporate people and vacationers. Included within this category, a complete website, specialized functionality within websites and information processing applications that reside on the Internet or on an intranet or extranet.
00:05:35:22 - 00:06:05:21
Unknown
So, what is web application? A web application or web app is any application software that runs in a web browser or any application software that is created in a browser supported programing languages, such as the combination of JavaScript, HTML and CSS, and these applications software relies on a common web browser to render the application. What is Web Engineering?
00:06:06:02 - 00:06:43:25
Unknown
The term Web Engineering was first published in 1996 by Gellersen et.al. Web Engineering can be defined as the application of systematic and quantifiable approaches, which include the concepts, methods, tools and techniques to cost effective requirements, analysis, design, implementation, testing, operation and maintenance of high quality web applications. The objectives of engineering include the followings : Number one – to have a clear, consistent, unambiguous and documentable requirements.
00:06:44:09 - 00:07:26:12
Unknown
Number two, to follow SDLC or the system development lifecycle approach of development of a web application and website. Number three to establish a proper Web project planning. And number four, to provide continuous feedback and reviews of both developers and customers. And this idea vantages software engineering, web engineering, make it possible to plan and iterate development processes. It does also permit continuous evolution of web applications that serve both time and cost and also delivers good quality web software.
00:07:28:05 - 00:08:01:06
Unknown
Web engineering is the way of managing the complexity and diversity of web applications. Therefore, there is a need to have a sound infrastructure to support this constant advancement, but in a controlled, flexible and consistent manner so that it is easier to maintain a web system. Learning Outcome Number One - The Summary. By the end of this section, students should be able to explain how web engineering manage complexity and diversity of large scale web development.
00:08:01:06 - 00:08:42:29
Unknown
This include web engineering issues, the difference between website and web application, the definition of web engineering, the objectives of engineering, and also the advantages of web engineering. Learning Outcome Number Two - Differentiate different categories of web applications. Categories of Web Applications. Before we proceed with the categories of web application, let us go through some basic concepts of the web application. We also use the terms like web hypermedia, web software application and web application.
00:08:43:14 - 00:09:26:05
Unknown
We use these terms interchangeably. Web hypermedia is a non-conventional application that has huge information on nodes, links, anchors and navigation such as XML, JavaScript and multimedia applications, while Web software application is a conventional software application that depends on web or infrastructure for execution, for example e-commerce applications, databases, knowledge basis and etc. So, we can say that a web application is the combination of both. Web application combine the both hypermedia and also web software application.
00:09:27:09 - 00:09:57:27
Unknown
The categories of web application. We have seen that web applications have different degrees of complexity. Web applications may range from a traditional online banking application to an online shopping mall application, which will be more complex. These are the different categories of applications. These are the different categories of web applications. There are five categories of web applications that will be discussed throughout the chapter. The first category is the document centric web applications.
00:09:57:27 - 00:10:27:25
Unknown
The second one is transactional web applications. Next, is the workflow based web applications and then the portal oriented web applications. And the last one is ubiquitous web applications. The first category is the Document-centric Web Applications. Concept. These websites are very simple, which consists of a set of webpages that are basically stored on the web server.
00:10:27:25 - 00:11:02:10
Unknown
The client sends the request to the server and the response is sent to the client in a very short time. The web pages are manually updated with the help of respective tools. The features. Document-centric web applications are static, simple, stable and take less time to respond. These applications are costly to maintain at the time of update, having inconsistency problem because of being static, no timely update of information. They are also easily hackable.
00:11:03:09 - 00:11:42:07
Unknown
For example, static websites like simply homepages, webcasts and simple web apps belong to this category. On the other hand, Interactive Web applications also exist today such as ajax-based application, where the controls are loaded and unloaded dynamically. The next category is Transactional Web Applications. The concepts. These kind of web applications have facility of modification by user. Features. Whenever we use the term web application, it implies that the application is quite complex.
00:11:42:19 - 00:12:19:10
Unknown
It involves databases as the back end in order to store customer data. These applications are more interactive and support structured queries from database. The database system handle data consistently and efficiently. It also involves the use of Structured Query Language to read and to manipulate data. Some examples of transactional applications include online shopping, online airline booking, online banking and etc. The next category is Workflow-based Web Applications.
00:12:19:22 - 00:13:03:17
Unknown
The concept. Workflow-based web applications allow easier handling of the workflows within or between different organizations. The features. There is a need of interoperability between these web-applications. Thus, both intra and inter-workflows need to be managed. Workflow-based web applications are robust, reliable and flexible to handle workflow with autonomy of companies. The issues here include the complexity of the web services, the participating companies and the workflows. For example, business to business or B2B solutions in e-commerce, e-government applications, or with the support of patient workflows.
00:13:04:02 - 00:13:37:25
Unknown
These types of web applications require a certain structuring of automated processes. On the other hand, collaborative web applications are useful for cooperation purposes in unstructured operations. Here, the communication needed is very high. Today, social-web is also very common. Weblogs or collaborative filtering systems help us in finding the related resources and the people with a similar interests. Portal-oriented Web Applications.
00:13:38:12 - 00:14:15:03
Unknown
Portals are the central hubs that act as a point of access to the web. Some examples of portals are general portals like Yahoo! Yahoo, search engines, community portals are best examples of portal-oriented application. There are also specialized portal, such as business portals and marketplace portals. Business portals give information to the employees through intranet or extranet. Marketplace portals, maybe in two forms the horizontal portals and the vertical portals.
00:14:15:03 - 00:14:51:01
Unknown
Horizontal portals operate on business to customer (B2C) market, while vertical portals involve companies from a single sector. The last categories of web application is the Ubiquitous Web Applications. The concept. Ubiquitous web applications provide services as per the customers demand. TThese kind of applications provides customized facilities for any device from anywhere at any time. The features. Ubiquitous web applications has a limited interaction facility and support limited device.
00:14:51:16 - 00:15:23:28
Unknown
It require advanced knowledge of contacts where the web application is being used for a dynamic adjustment. Examples. Today has now been reached where ubiquitous applications dominate the market. Services based on location, for example, display temperature on the screen of mobile of customers or menu displays of the day and etc. The following table summarizes different categories of web applications based on the functionalities.
00:15:23:28 - 00:15:54:13
Unknown
Learning Outcome Number Two - The Summary. By the end of this section, students should be able to differentiate different categories of web applications. This include to describe the five categories of web applications, to list the features of every each of the web application categories, and to give examples for every each of the web application categories. Learning Outcome Number Three. Identify the Characteristics of Web Applications.
00:15:55:22 - 00:16:33:14
Unknown
Characteristics of Web Applications. In general, there are twelve characteristics of web applications, and we are going to discuss every each of it. The first one is evolve constantly. Web applications evolve constantly because the information contained within and presented by the website will also change. The requirements are unstable. The structure and the functionality change over time, and managing these ever changing application nature is itself a management, technical and organizational challenge.
00:16:35:06 - 00:17:06:26
Unknown
The second characteristics is the content. The web content like text, graphics and multimedia are part of software. Now the way in which these contents are presented has an effect on the performance and also the response time of the system again.
Next, a training session for end use it. If the end users are known to us, then it is possible to arrange training sessions for them on how to use any web application.
00:17:07:22 - 00:17:36:27
Unknown
But if the web application is designed for different types of users that have different expectations, then such users need to be satisfied. And this is very difficult. This is because we cannot even offer trainings to them. As a result, the human interaction also become very complex. The fourth characteristic is database driven. Today, almost all web based systems are database-driven.
00:17:37:17 - 00:18:11:22
Unknown
Such websites are actually known as web application. Such applications very frequently get updated maybe every hour. The next one is a better look and feel. Web applications need a better look and feel as they need better forms and controls. Next characteristics is the development process. Web applications have a compressed development schedule and strict time constraint. So the development process cannot be carried out for years and years.
00:18:13:03 - 00:18:46:21
Unknown
Let's continue with the next general characteristics of web application. Characteristic numbers seven. The ramifications of failure or dissatisfaction of users. The revocation or failure or dissatisfaction of users of web applications can be observed more in web based systems than in the traditional system. Next, the different perception of developers. The perception of young web developers is also different as far as web quality is concerned.
00:18:47:14 - 00:19:38:16
Unknown
This can cause confusion too. Characteristic number nine. The technology. The technology changes every day and so do these web systems. New languages, new web standards, new operating system etc. This complicates the architecture of the Web systems and thus, more errors are observed. This also implies that web security is also at stake. Let's look into Web development. Web development uses cutting edge, diverse technology and standards and integrates different components like traditional and nontraditional software scripting languages, databases, images, audios, videos, and complex user interfaces.
00:19:40:01 - 00:20:20:27
Unknown
Next characteristic is the deployment. Web applications are to be deployed on different types of delivery medium like different types of display devices, format and hardware and also software networks that look at very fast speed. And finally, it is easy to hack and attack any web system today is due to the complexity of web systems.
00:20:21:06 - 00:20:55:07
Unknown
The security again also at stake. Now we are going to focus on the characteristic of a well engineered application or web system. A well, engineered web application or web system are : functionally complete and correct. Next, it is usable and also robust and reliable. The web system is easily maintainable and definitely is secure and having a better performance under variable loads. A well
00:20:55:07 - 00:21:43:15
Unknown
-engineered web-systems also scalable, portable, interoperable, reusable and also well documented. Categories of web based project. The characteristics of web based projects are based on ISO nine one two six model of software quality. They are grouped under three main categories as follows: the product related characteristics, usage related characteristics, and also the development related characteristics. Product-related characteristics. These characteristics include the content on a website, its navigational model or the hyperlink model and also the presentation.
00:21:43:29 - 00:22:15:10
Unknown
These characteristics are the major building blocks of a web application. Product-related Characteristics Description. Let's look into the three categories of the product related characteristics. The first one is content. Web application programmers must not only program, but also take care of making correct content available, integrating it and updating it periodically on the webpage. So the current content is important.
00:22:15:10 - 00:22:46:16
Unknown
For example, providing content in the form of tables, text, graphics, animation and etc. is better as it increases the web usability. Thus, the content quality is very important here. The second characteristic is the hypertext model. The basic unit of any web application is a webpage or simply a page. The present day web models uses nodes, links and anchors or tags.
00:22:47:15 - 00:23:19:03
Unknown
These three terms are defined as follows. Node is self-contained and uniquely identifiable information unit like a webpage, which is essentially an HTML-like page or document. It can be reached via a uniform resource locator, URLs. A link is a path from one node to another. An anchor is the source of definition of a link. The path that is traversed by the users
00:23:19:08 - 00:23:57:05
Unknown
when moving through a website is called as navigation path. This navigation path may or may not be linear. The challenge is that the paths through these navigational graphs are very complex, thereby making the navigational paths exponential. The third characteristic is the presentation. At the presentation level, the main focus is on the graphical user interfaces (GUIs). How a website or a web application looks like is a very significant factor here.
00:23:57:24 - 00:24:32:03
Unknown
Also, it should be self explanatory and its usability should also be high. Usage-related Characteristics. As already mentioned, the usage of Web application is complex, as it is very heterogeneous type where different mix of users work,
different resources are used and the time and place of the Web application to be used cannot be easily determined. It includes the following three things: Social context, technical context, and natural context.
00:24:33:02 - 00:25:15:00
Unknown
Usage Related Characteristics. Description. The Social Contacts. Social context includes two aspects — spontaneity and multiculturality. Spontaneity means that the number of users cannot be reliably predicted. Multiculturality includes certain behaviors related to Web such as understanding the user contexts at the development stage of Web application only, giving special discounts to regular Web site visitors, etc. Technical context. Technical context includes the network hardware and software and its related devices.
00:25:15:23 - 00:26:00:02
Unknown
It also includes quality of service and multiplatform delivery. Quality of Service (QOS) involves the consideration of various characteristics of the transmission media like its bandwidth, reliability, etc. while developing any Web application. Nowadays, the trend is towards mobile Web applications and these parameters are very important. Multiplatform delivery is also to be considered as the present-day Web applications are limited not only to the real-life Web apps but also to the mobiles devices and different browser types with new versions every day.
00:26:00:02 - 00:26:31:01
Unknown
This is another web testing challenge. Natural context: It includes location and time parameters. It means the globality and availability of data that creates a high degree of heterogeneity. Globality of data is challenging when we know from where the Web application is to be accessed. This type of location knowledge makes Web testing difficult too. More security issues do arise here.
00:26:31:20 - 00:27:18:10
Unknown
Availability of data is another factor. The objective here is the quick delivery. But at the same time it also raises the security issues development related characteristics, development related characteristics includes the following four things development teams, technical infrastructure, development process and the required integration of already existing solutions. Development-Related Characteristics Description. The Development Teams. Development Teams are multidisciplinary and young. Multidisciplinary means Web applications are the combination of knowledge and expertise from different areas.
00:27:19:01 - 00:27:55:01
Unknown
IT experts are responsible for the technical implementation of the system, hypertext experts for hypertext designing and domain experts for the content. Developing an e-commerce application, for example, may use databases and programmers with rich experience, while developing a virtual mall needs more expertise of domain and design. The young Web application developers are quite young, but with lesser experience than the traditional developers. They are more interested in newer technologies.
00:27:55:20 - 00:28:27:20
Unknown
Community is formed when the programmers use open source freely available software to build their applications and then make them available to the community as an open source application. Technical infrastructure. Technical infrastructure refers to the non-uniformity of browsers. Immature components in a Web application may be used due to the market competition. Immature refers to the applications that have errors or lack functionalities.
00:28:28:03 - 00:29:00:03
Unknown
This makes the development of Web applications difficult. Development Process. While developing a Web application, it is impossible to have a rigid predefined project plan. We have to react to the changing conditions also. This flexibility is a must. Parallelism is also possible in the Web development. Web applications can be easily developed in parallel as their functionalities can be achieved parallel.
00:29:00:25 - 00:29:41:10
Unknown
But, it also introduces a new requirement of planning of deployment of developers in the Web projects.Required integration of already existing solutions: It includes the integration of technical aspects, contents and organizational aspects. Web applications need both internal and external integrations. Internal integration includes the integration of Web applications with the existing old/legacy systems when the available contents have to be made available throughout the Web application.
00:29:42:05 - 00:30:12:15
Unknown
External integration includes the integration of content and services of the external Web applications. This is so because there is voluminous data that is frequently changing, and also, it is available at different places and different levels. Thus, their integration is must. Learning Outcome Number Three - The Summary. By the end of this section, students should be able to identify the characteristics of the applications.
00:30:12:26 - 00:30:54:16
Unknown
This include to describe the general and well engineered characteristics of web applications, and also to identify the three categories of web applications characteristics. Evolution of Web Engineering. Evolution of Web Engineering. Traditional or conventional software evolution needs a well-planned series of versions while Web applications are developed continuously. This means that Web applications are in permanent maintenance phase. Web development needs a better requirements analysis in comparison to a traditional SDLC.
00:30:55:01 - 00:31:32:11
Unknown
This is because of the continuously changing nature of Web requirements. Web applications change rapidly. This constant change of requirements of a Web application is the core characteristic of Web applications. Changes may be in the product, its usage and its development. The evolution of Web has brought together some disparate disciplines like media, information science and communication technology. Web projects require shorter development times and shorter life cycle due to several market pressures
00:31:32:11 - 00:32:04:02
Unknown
today. The extreme pressure on the development of Web application is due to the rapid change in the Web, their shorter life spans and their frequency of updates. The advances in the field of Web engineering have led to an avalanche of Web sites. Chapter Conclusion. Web applications should deliver a complex array of functionality to the variety of users. The performance, reliability and quality of web application have increased.
00:32:04:11 - 00:32:26:24
Unknown
Thus requires a disciplined development process and a sound methodology. Web engineering is a way of managing complexity and diversity of large scale web development. This is the main reference of this chapter. End of chapter one. Thank you.
CHAPTER 02 :
REQUIREMENTS ENGINEERING FOR WEB APPLICATIONS
00:00:00:11 - 00:00:42:07
Unknown
Welcome to the course. Chapter two Requirements Engineering for Web Applications. The following content is provided under a Creative Commons License. Chapter Outlines. This is how we're going to cover this topic. First, we begin with the introduction. Dan followed by the fundamentals of requirements engineering. After that, we're going to discuss on the requirement engineering activities, requirement engineering specifics in web engineering, and then the principles of requirement engineering of web applications followed by the types of requirements and the notations and also tools for requirement engineering.
00:00:42:07 - 00:01:22:26
Unknown
And finally, we will close that the chapter with the conclusion. Topic Learning Outcomes. By the end of this chapter, students should be able to understand the fundamentals of requirements engineering, describe requirement engineering activities - the process, planning and design, discuss requirement engineering specifics in engineering, highlight principles of requirement engineering of web applications. Differentiate types of requirements engineering and describe the annotations and tools for requirement engineering. Introduction.
00:01:22:26 - 00:01:55:20
Unknown
Introduction. This picture describes the challenges of communicating and executing customer requirements. It is written from a software developer's point of view and can certainly be related to all other areas of the industry. Different people will elaborate things differently. It might be different from how the customer explained it and then how the project leader understood it, how the analyst designed it, how the programmer wrote it.
00:01:56:11 - 00:02:28:09
Unknown
How the business consultant describe it, how the project was documented, and then what operations installed, how the customer was billed, how it was supported, but then what the customer really needed? The thing is, it would be so much easier if we could ever get to this simple starting point, but we never do it. Learning Outcome Number One.
00:02:28:16 - 00:03:09:25
Unknown
Understand the fundamentals of requirements engineering. Fundamentals of requirements engineering. Requirement, Engineering Definition and Goal. What is the requirements engineering? The process of analyzing, documenting and validating the requirements of the software is known as requirements engineering or the R E. The basic goal of the requirements phase in the software development lifecycle, the SDLC is to produce a software requirement specification document or the SRS document as an output or a deliverable.
00:03:09:25 - 00:03:52:22
Unknown
The process of developing this document is called requirements engineering. According to Davis, requirements engineering is the organized use of principles, techniques, tools and languages for the cost effective analysis, documentation and changing user needs. Requirement Engineering Process. The requirement engineering process involve all of the following activities. You may refer to the figure. There are basically two main activities, the requirements definition and the requirements management. For requirements definition, there are four sub-activities in acquiring the requirements.
00:03:53:13 - 00:04:40:06
Unknown
The activities are the requirements elicitation, requirements modeling, requirements documentation and requirements review. The requirements management activities are to manage the requirements acquired in the earlier process. The two sub-activities of requirements management are requirements data management and also requirements traceability. All these activities will be further discussed in the next sections of the chapter. All the activities in the requirement engineering processes are very essential for a successful completion of any web project. So, the requirements must be complete, unambiguous and consistent.
00:04:40:06 - 00:05:19:28
Unknown
Otherwise, it will lead to the termination of projects. Even web application requirements also suffer from volatility problems. But for web projects, technical feasibility, managerial feasibility, and also economic feasibility play an important role. This projects are well developed using parallel processes, and they are very costly. But without requirements engineering, again, you possibly land on developing a project that has poor user acceptance, unsuccessful plans and also complex architecture.
00:05:21:15 - 00:05:54:23
Unknown
The followings are some of the major bottlenecks faced in the previous years due to poor requirement engineering. As per the survey report of European Software Institute in 1995, more than half of the companies under survey specified poor requirements engineering as a major problem. Another survey conducted on 340 companies in Austria in 1995, more than two thirds of these companies considered that RE a major problem.
00:05:55:27 - 00:06:39:20
Unknown
And according to the Standish Group report, in 1984, when 8000 projects was studied, it was found that 30% of the projects failed before the completion date, and the remaining 70% of the project did not meet the users need. The reason for this was again poor R E. Then in another survey on web projects conducted by the Cutter Consortium Group in 2000, it was reported that only 16% of the Web system met the customers requirements, and then another 53% of the deployed systems did not satisfy the required capabilities.
00:06:41:03 - 00:07:13:00
Unknown
In a nutshell, requirement engineering is very important if you have to avoid the time slippages and cost overruns. Another problem with the web projects is that lack of experiences people. Therefore, there is a need to use web engineering to solve these problem. The challenges. The web stakeholders include the content authors, domain expert, usability experts or even marketing professionals.
00:07:13:26 - 00:07:47:07
Unknown
The satisfaction of these stakeholders is the focal points of any project manager, and perhaps it is the biggest challenge. The problems of understanding the problem domain of any web application still persist. It is very difficult to reconcile the objective of the stakeholders as they have conflicts based on their expectations, backgrounds and agenda. Some of these conflicts may be between the desired set of capabilities and the available budget,
00:07:47:25 - 00:08:28:08
Unknown
the project schedules, the design quality or even the desired technology, and the developers skills and experiences. The solution. A project manager must understand that the identification of such risks must be carried out earlier during the web development cycle. If it is not done, then the defects will get amplified during the later SDLC phases. The process of acquiring knowledge about the specific problems domain through various techniques to build the requirements model is called requirements elicitation.
00:08:28:08 - 00:09:09:20
Unknown
What is a requirement? IEEE Standard Six One Zero One Two defines a requirement as an ability needed by a user to solve a problem or achieve an objective. It is also defined as a condition that must be met to satisfy a contract, and standard. Requirement also can be referred to as a documented representation of a capability or condition. Requirements are basically of the following two types; the functional requirements and the nonfunctional requirements. Types of requirements.
00:09:10:12 - 00:09:50:21
Unknown
As mentioned earlier, there are two types of requirement functional requirements and non functional requirements. Functional requirements define systems capabilities and services. For example, the functionality, the maintainability, traceability, consistency, unambiguity and etc. of the system, while the nonfunctional requirements are used to define the desired levels of quality. These levels of quality may range from the user interface, look and feel to response time requirements to the security issues.
00:09:51:24 - 00:10:35:25
Unknown
Nonfunctional requirements. To elicit nonfunctional requirements, both client and developer must collaborate so that they can identify some minimum numbers of system attributes that are critical for the user. There may be some conflicting requirements also. To solve such conflicts, the client and the developer prioritize nonfunctional requirements. Practically, analyst use taxonomy of nonfunctional requirements to generate a checklist of questions to help the client and developers focus on the nonfunctional aspect of the system.
00:10:35:25 - 00:11:25:05
Unknown
Once they have identified a set of nonfunctional requirements, they can organize them into refinement and dependency graph to identify further nonfunctional requirements and conflicts, if any. Nonfunctional requirements deal with the issues like quality attributes, constraints, goals and the non behavior requirements. Other categories of nonfunctional requirements are such as usability of web, reliability of web, performance of web, portability of web, maintainability of web, operation of web, and also the packaging of web. All these requirements that have been gathered are summarized in the software requirement specification,
00:11:25:15 - 00:11:53:20
Unknown
SRS document. The SRS document will act as a contract between the developer and the customer. Where do requirements originate from? Basically, customers themselves do not have a clear idea of what they actually need. They have limited technical knowledge. The followings are the points that you need to keep in mind when you want to elicit requirements from your customer.
00:11:54:10 - 00:12:24:18
Unknown
The first one is to identify the stakeholders. Who are the stakeholders? A stakeholder is anyone who has direct interests in or benefit from the system that is to be developed. The stakeholders may be business operations manager, product managers, marketing people and the end users, the software consultants, the product engineer, the software engineer to support and maintenance engineers and etc.. All these people have different views of the system
00:12:24:18 - 00:12:50:29
Unknown
that is to be developed. Then you have to recognize multiple viewpoints. All of the stakeholders mentioned earlier have different views regarding the system to be developed. Like marketing people are interested in functions and features having potential market, business people are interested in functions that can be set within minimum budget, while end users are interested in functions that will be easy to understand and use,
00:12:51:16 - 00:13:27:29
Unknown
software engineers are interested in functions and features that support existing infrastructure and support engineers may focus on the maintainability of the software. Different levels of stakeholder will have different viewpoints of the system to be developed. The third viewpoint is working towards collaboration. Customers must collaborate with themselves and software engineering practitioners to get a successful system. The task of a requirement engineer is to find common areas of requirements that all
00:13:28:21 - 00:14:02:01
Unknown
stakeholders agree and the conflicting areas of different types of stakeholders. Then, the management people can take the decision to forward or to reject these requirements. Finally, Asking the questions. Then only you can start to ask questions. The requirement engineering is a communication intensive activity because requirements gathering is an initial step for design. Three types of questions may be asked—the context free questions, questions to gather initial understanding of the problem domain and questions that focus on the effectiveness of the communication activity.
00:14:03:01 - 00:14:33:16
Unknown
That's the end of Learning Outcome Number One – The Summary. By the end of the section, students should be able to understand the fundamentals of requirements engineering, which include the concept of requirement engineering, and also the fundamentals of requirement engineering. Learning Outcome Number Two. Describe requirement engineering activities - the process, planning and design. Requirement Engineering Activities - the Process, Planning and design.
00:14:34:20 - 00:15:07:22
Unknown
Requirement Engineering Activities. The Requirement Engineering is an umbrella activity. What is an umbrella activity? Umbrella activities are a set of steps or procedure that the web engineering team follows to maintain the progress, quality, change, and list of the overall development tasks. These activities include elicitation, documentation, verification and validation and also requirements management throughout the software development lifecycle or the SDLC.
00:15:08:14 - 00:15:50:25
Unknown
The first umbrella activity of requirement engineering is requirement elicitation.
Requirement elicitation description. The requirement engineering method aimed at improving communication among the developers, clients and the users. Developers construct a model of the application domain by observing users in their environment. They select a representation that is understandable by the clients and the users, like the scenario based use cases. They validate the application domain model by constructing a simple model of the user interface and collecting feedback from the web users. Requirements
00:15:50:25 - 00:16:26:08
Unknown
elicitation technique. Requirements elicitation can be done through elicitation process regarding a system. This can be achieved in five ways, by Question and answer, Brainstorming Facilitated Application Specification Techniques or FAST, Quality function deployment QFD and also the Use case approach. The question and answer or the interview session for requirements elicitation is used to understand the customers expectations from the software.
00:16:26:08 - 00:16:52:05
Unknown
Brainstorming is used to emphasize on an issue or problem and then offering a lot of fundamental way out of it. Facilitated application specification technique or FAST, is used to bridge the expectation gap. This is where the difference between what the developers think they are supposed to build and what customers think they are going to get. Quality function deployment
00:16:52:05 - 00:17:20:22
Unknown
or QFD, emphasizes on the requirements which are valuable to the customer. Use case approach is a combination of text and pictures to provide a better understanding of the requirements. A scenario describes an example of the system in use. It shows interactions between a user and a system. A use case is an abstraction that describes the scenario of the system.
00:17:21:08 - 00:17:54:03
Unknown
Both scenarios and use cases are written in natural language that the web users can also understand. Information elicitation method. Elicitation of information about the project may be done by the following two methods. The first one is Joint Application Design or JAD, and the second method is by maintaining the traceability. Joint application design - JAD. The first method is joint application design or JAD.
00:17:54:20 - 00:18:31:00
Unknown
JAD aims at building consensus among the developers, the users and the clients by jointly developing the SRS document. It is a requirement gathering technique developed at IBM in 1970s. JAD suggests elicitation of requirements is done in one single workshop session in which all stakeholders participate. The users, the clients, developers and a leader sit together in one room to present their viewpoints, negotiate and come to a mutually acceptable solution.
00:18:32:19 - 00:19:07:19
Unknown
The final deliverable is a JAD document including definitions of data elements, workflows and interface screens. The final JAD document acts as an agreement among developers, users, clients, and thus, minimize requirement changes later in the development process. The main actors involved in the JAD are the customer, Sponsor or the top management person, Facilitator or project leader, Scribe or record keeper, and System analyst. In the
00:19:07:20 - 00:19:38:05
Unknown
JAD, weekly meetings are held for 2 to 4 hours. The JAD is useful for larger projects. It involves the following main activities, Project Definition. Project definition includes fact finding and information gathering. Forming a JAD team. A JAD team is formed by a facilitator and the sponsor. Kickoff Meeting. Kickoff meeting is the initial meeting that is started by the sponsor.
00:19:38:23 - 00:20:15:18
Unknown
It focuses on ensuring that all team members understand what JAD is. Regular JAD sessions, regular jet sessions are based on users availability. JAD sessions are held for discussion on planning, analysis, design and development. Traceability focuses on recording, structuring, linking, grouping and maintaining dependencies among requirements, and between requirements and other work products. The second method of requirement elicitation is maintaining traceability.
00:20:16:08 - 00:20:47:05
Unknown
Traceability is the ease with which you can traverse between different phases. It includes tracing where the requirements came from and the project they affect. Traceability enables the developers to show that the system is fully developed and the testers to show that the system satisfies their requirements. The approach used cross-references among the documents, models and the codes. Each individual element like requirement, component, class, operation,
00:20:47:10 - 00:21:25:28
Unknown
test case, etc. is identified by a unique number. Then, dependencies are documented manually. For large project, specialized database tools enable partial automation of capture, editing and linking of traceability dependencies at a more detailed level. For example, DOORS by Telelogic and RequisitePro by Rational are such tools that reduce the cost of maintaining traceability. The second umbrella activity is Documentation. Documenting the requirement engineering. tThe result of the requirements
00:21:25:28 - 00:22:05:27
Unknown
elicitation analysis activities are documented in the requirement analysis document or the RAD. These documents serve as a contract between the client and the developer, as you describe the system in terms of functional and nonfunctional requirements. The audience for the RAD includes the clients, project management, users, system analyst and also the system designers. The first part of the document includes use cases and nonfunctional requirements, whereas the formalization of the specification in terms of object models is written during analysis.
00:22:06:14 - 00:22:36:02
Unknown
This RAD should be written after the use case model is stable, that is, when the number of modifications to the requirements is optimal. Suitable degree of preciseness and formality is decided depending on the types of identified risks and the skills and experience of the expected readers. As far as the Web engineering is concerned, informal descriptions like user stories and semi-formal descriptions like use cases are quite useful.
00:22:37:00 - 00:23:14:10
Unknown
The third umbrella activity is requirements verification and validation. We know that verification is a static process of testing the documents. The requirements analysis document (RAD) is also verified. Also, we know that validation is a dynamic process of running executables (code). Similarly, requirements need to be validated. Traditional projects used reviews, inspections, prototyping, etc. for validation of requirements,
00:23:14:21 - 00:24:03:01
Unknown
but in Web engineering field, direct user participation is a must, for example, through online collection of user feedback. The last umbrella activity is requirements management.
Requirement management. There are two sub-activities of requirement management, which are the requirement change management and the second one is requirement traceability. As we know, requirements are not stable or fixed. They do change frequently as the user demands increases, and that regular change in the requirements and constraints on Web projects is one of the major features of the Web projects. For achieving the task of combining the new requirements and changes to the existing requirements,
00:24:03:10 - 00:24:48:23
Unknown
several methods and tools may be used. These tools help in achieving traceability, i.e., in evaluating the effect of changes by managing interdependencies among the requirements and other development artifacts (deliverables) of complex projects. Learning Outcome Number Two Summary. So, by the end of two chapters, students should be able to describe requirement engineering activities which include the process, planning and design. Student also should be able to describe requirement elicitation methods, describe the requirement documentation process and then differentiate requirement validation and verification, and finally describe requirement management activities.
00:24:50:02 - 00:25:45:15
Unknown
Learning Outcome Number Three. Discuss requirement engineering specifics in web engineering. Requirement Engineering Specifics in Web Engineering. A question arises as to whether there is any difference between RE in traditional or conventional software engineering and in Web engineering. The answer is yes. There are some differences and similarities too. There are ten elements to be considered which include multi-disciplinary, non-availability of stakeholders, volatility of requirements, dynamic operational environment, affect of old systems, importance of quality factors, quality of content, lesser developer experience, rigid delivery dates, vulnerability issues.
00:25:46:10 - 00:26:20:12
Unknown
Now let us see the differences between the two. Multidisciplinary. As Web site and Web application engineering focus on the best graphical user interface, therefore the people of different areas like multimedia experts, content authors, software architects, usability experts, database specialists or domain experts are required. Also, the non-homogeneous stakeholders, with the multidisciplinarity of stakeholders, make RE more difficult.
00:26:21:01 - 00:26:59:01
Unknown
This is so because the people involved in Web projects have different nature, views and languages that need to be reconciled. Non-availability of stakeholders: In normal software engineering projects, during RE, stakeholders are more or less clear, but in Web engineering projects, during RE, the stakeholders are not clear. It is the job of the project manager to find out the potential stakeholders involved in Web projects and to ensure whether they can provide real type of requirements.
00:26:59:15 - 00:27:30:15
Unknown
For example, it is easy to list the stakeholders theoretically, but practically, it is difficult to get them. Volatility of requirements. Requirements and constraints of any Web project keep on changing, just as it happens for normal projects. Requirements keep on changing due to the continuous change in the users’ requests. Web applications and their environments are highly dynamic. The Web requirements are highly unstable.
00:27:31:03 - 00:28:05:11
Unknown
This is so because every day newer technologies and newer apps are being developed. Dynamic operational environment: The operational environment of a Web site or a Web application is very much dynamic and difficult to predict. It is difficult for a Web developer to find out the factors that decide what a Web user desires in his project. For example, changing bandwidths will affect the response time of mobile applications, but it may be out of the view of the development team.
00:28:07:04 - 00:28:35:17
Unknown
Affect of old systems: Legacy systems are the old existing systems. A Web application project is worked upon by integrating the existing software components Web developers are often confronted with a challenge to integrate these old systems. This may be due to the cost factor. It is to be noted that the components that need to be integrated very strongly influence the requirements and the architectural style of the future system.
00:28:36:11 - 00:29:08:16
Unknown
This means that during the RE, the Web developers must be aware of the system architecture and the architectural restrictions. Importance of quality factors: Quality factors for Web applications should be considered also. Web quality is not a simple and atomic term. In fact, it is a multi-dimensional and abstract concept. Three quality problems are very significant — incompleteness, inconsistency and semantic ambiguities.
00:29:09:11 - 00:29:42:29
Unknown
These three factors affect every field of domain of engineering. But, Web applications involve many other quality factors like representational conciseness, interoperability and interpretability of the data. The factors like logical or formal consistency, trustworthiness and relevancy constitute another set of dimensions that determines the quality of the Web of data. The challenge is to measure the quality factors. Web application developers must be aware of
00:29:42:29 - 00:30:15:03
Unknown
I Know It When I See It (IKIWISI) phenomenon. It means that users will not be able to understand a Web application by just looking at the abstract models, but rather they need to experiment with it. Prototypes of some important scenarios may be built. Quality of content: Several RE methods for Web projects do exist. But they do not stress much on the quality of content.
00:30:15:20 - 00:30:44:15
Unknown
Both the creation of the content and its maintenance are equally important. During the RE, it is mandatory to define the quality of the content. Some quality features include accuracy, objectivity, credibility, relevance, actuality, completeness or clarity of contents. Today many content management systems (CMSs) are also very popular that allow us to represent the Web content more precisely and consistently
00:30:44:27 - 00:31:15:20
Unknown
by separating out the content from its layout and offering content editing tools. Lesser developer experience. The existing Web technologies, tools, standards, languages, etc. are still in their infancy. So, this can result in wrong estimates when doing cost and time estimations for them. Rigid delivery dates. The Web projects are very much tuned to be delivered on time. They have fixed project deadline.
00:31:15:29 - 00:31:46:19
Unknown
And under such conditions, prioritization of requirements is not an easy task. There is no agreed standard for size measurement for a Web project like we have for traditional projects. Vulnerability issues. It has been found that Web applications are much more vulnerable to hacks as compared to any traditional application. This is so because Web projects are very complex and are to be available 24 hours a day , 7 days a week, and 365 days a year.
00:31:47:04 - 00:32:22:25
Unknown
This may be one of the reasons of easier data leakages from Web sites. So, this is the summary of Learning Outcome Number Three . By the end of the chapter, students should be able to discuss requirement engineering specifics in web engineering. Learning Outcome Number Four. Highlight Principles of Requirement Engineering of Web Applications. Principles of Requirement Engineering in Web Applications. Principles of Requirement Engineering in Web Applications.
00:32:23:08 - 00:32:59:05
Unknown
Web site and Web application projects must deal with the risks and constraints like volatility of requirements, developers with lesser experience and the effect of older solutions. The following are the five principles of the RE. Analyse The Present Business Scenarios, Stakeholders’ Feedback And Involvement, Iterative Approach of Requirements Definition, System Architecture, Risk Identifications. Principle number one - Analyze the present business scenarios.
00:32:59:18 - 00:33:24:11
Unknown
Web sites and Web applications are still in their infancy stage. They are developed without a deep understanding of the system. A Web application is not a silver bullet. It must support the customer’s business objectives too. Web engineers must understand the reasons behind the development of a new Web application. Web developers must understand how the system is embedded in its environment.
00:33:25:09 - 00:33:53:00
Unknown
According to Boehm, business analysis is useful to find out the value of a Web application with respect to the resources it uses. This understanding of system has several advantages, which are as follows. Number one, Identifying the success-critical stakeholders; Number two. Understanding the purpose of such a Web application; and Number three. Finding out the constraints on the project, if any.
00:33:53:27 - 00:34:28:17
Unknown
Principle Number Two. Stakeholders Feedback and Involvement. Stakeholders that directly or indirectly affect the success of a project must be involved, as they are very critical for a project’s success in every project phase. One should understand that the requirements of stakeholders have to be located and negotiated again and again to cope with the dynamically changing needs of the projects. Also, note that the multidisciplinarity and unavailability of stakeholders requirements are necessary for any Web application.
00:34:29:04 - 00:35:04:04
Unknown
The following requirements are necessary for any Web application. Finding and identifying the stakeholders that affect project’ssuccess; Finding the user’s requirements, bjectives and goals; Coping with different expectations, experiences and knowledge. The tools used for requirements engineering must be consistent with these requirements, should do good information exchanges, reveal hidden knowledge among stakeholders, support team learning process, share vision development among stakeholders and remove conflicting requirements,
00:35:04:04 - 00:35:40:14
Unknown
if any. Principle Number Three . Iterative Approach of Requirements Definition. Web application projects are of dynamic nature. As a project progresses, the development results can be slowly refined in more concrete terms, while continuously ensuring their consistency. Requirements are volatile, that is, they may change any time. Thus, iterative approach is better. If the development time is limited, then iterative approach will list and implement the higher priority requirements.
00:35:40:14 - 00:36:09:17
Unknown
first. Principle Number Four. System Architecture. We know that Web architecture is usually very complex due to large number of Web pages that are intermingling with each other. A complex Web architecture makes the Web site code also complex. This makes the testing difficult. The problem space is defined by the solution space; so, it is necessary to understand the technical solutions with their limitations.
00:36:10:02 - 00:36:43:20
Unknown
Thus, proper Web architecture must be designed. For this, expert Web designers are needed and this very big issue in Web engineering field. Actually, the existing technologies and old solutions have a high impact on the requirements of Web engineering. The twin-peaks model suggests the concurrent refinements of both requirements and the system architecture in an iterative fashion, with each level introducing a newer detail.
00:36:43:20 - 00:37:15:29
Unknown
Number Five. Risks Identifications. Any unwanted act that results in some loss of the project in terms of its cost, time or resources constitutes risk. A good project manager must identify the risks as the project starts. It is so because the late identification of a risk can lead to project failure, and hence, loss of several million dollars. Risks also arise due to undetected problems, unsolved issues and conflicts among the requirements.
00:37:16:20 - 00:37:37:08
Unknown
As far as the Web applications are concerned, several risks have been identified like integration of the existing components into the Web application, determination of system quality aspects or less-experienced developers. Risk mitigation is one of the important activities. The earlier it is done, the better it is!
00:37:39:09 - 00:38:07:23
Unknown
Learning Outcome Number Four. The Summary. By the end of the chapter, students should be able to highlight principles of requirement engineering of web applications. By now, students should be able to identify the five principles of requirement in engineering offer applications which include understand the present business scenarios, understand the requirements of stakeholder, understand attractive approach of web applications, defined a system structure and identify the risks.
00:38:08:27 - 00:38:45:23
Unknown
Learning Outcome Number Five. Differentiate types of requirements engineering. Types of requirements. Web engineering project requirements. Basically, the requirements are put under the following two categories: Functional requirements; and Non-functional requirements. But, for Web engineering projects, the requirements may be any of the following types: Web Functional Requirements, Content Requirements, Quality Requirements or the Non-functional Requirements, Environment of System-based Requirements
00:38:46:02 - 00:39:22:19
Unknown
Graphical User Interface-related Requirements, Evolution Requirements, and Constraints on the Project. Web functional requirements: Functional requirements refer to those requirements that specify the functionality of a given project. They are shown using use case diagrams. Contents requirements: These requirements specify the contents a Web application should show. Quality requirements / Non-functional requirements . Quality is an abstract relationship between properties of objects and information needs.
00:39:23:04 - 00:39:56:29
Unknown
It has the following four dimensions: Specification quality, Design quality, Development/ or software construction quality, Conformance quality. Specification quality: It refers to how well the specifications are specified for the product or service being provided. If all specifications of a web project are met then the other activities can follow this specification step. So, if specifications are weak, design will be weak,
00:39:57:07 - 00:40:22:17
Unknown
which results in software resting on a shaky condition, i.e., it may fail any time. Once the requirements are complete, design is completed, and then only, coding should be started. Design quality: It refers to how well the product or service to be delivered is designed. If the design is weak, then the software may fail at any time.
00:40:23:02 - 00:40:53:21
Unknown
Design involves conceptual design and engineering design. Conceptual design provides a solution from the myriad approaches available. Whereas, engineering design uses the approach selected. It reuses the details to realize the solution. Note that conceptual design is the creative part of the process, and engineering is the details part. However, in terms of software, conceptual design refers to the software architecture,
00:40:54:02 - 00:41:29:05
Unknown
navigation, number of layers, approaches to flexibility, portability, maintainability, etc. whereas engineering design refers to database design, program specifications, form design, report design, etc. Development or software construction quality: Software testing takes more time than testing in the traditional sense. Web site testing is not exhaustive. Good-quality code is obtained by following the coding guidelines of the programming languages being used.
00:41:29:19 - 00:42:01:08
Unknown
The aim is to write a reliable and defect-free code. Conformance quality: It determines how well the quality control is carried out in the organization. To measure the efficiency of quality assurance activities, some quality metrics must be there. One of the metrics includes the defect removal efficiency of each quality control activity, product quality and the defect density. Environment of system-based requirements:
00:42:01:23 - 00:42:32:17
Unknown
Ultimately, a Web application is to be embedded into some target system. Its interaction with the older systems or some new hardware is also to be focused upon. These are also requirements of a system related to it operational needs. Graphical User Interface-related requirements: Users interact with the help of graphical user interfaces only. The graphical user interfaces or GUIs include a form also.
00:42:33:01 - 00:43:00:01
Unknown
The front-end design is as much important as is the backend design. It is suggested that the users should help in the design of scenarios for specific tasks.
It should be a usage-centric design approach so that it is easy for the end users of the Web site to use that application. Evolution requirements: Web applications are developed using spiral model.
00:43:00:14 - 00:43:28:16
Unknown
This is because they are getting evolved every day and every hour. Web developers must take care of all this. The future capabilities, future security requirements, future workloads, etc. must also be considered. Constraints on the project: Many restrictions work on a project while it is being developed like managerial constraints related to its cost, project’s time and the resource requirements.
00:43:29:01 - 00:44:08:24
Unknown
Technical limitations, following the standards, maintenance part, deployment constraints, operational constraints, legal constraints, etc. also affect a Web project. Learning Outcome Number Five. The Summary. By the end of the chapter, student should be able to differentiate types of requirements engineering by distinguishing to nine types of requirements engineering. Learning Outcome Number Six. Describe the notations and tools for requirement engineering. Notations and tools for requirement engineering. Notations for requirement engineering.
00:44:09:11 - 00:44:47:28
Unknown
Many methods are available for showing all of the requirements gathered. Some methods include:
Stories, Unique Identifier given to all of the requirements, Use case method and standards like IEEE SRS Standard Eight Three Zero. Tools for requirement engineering. Analysis tools help a software engineer in creating system models. These models contain a representation of data, function and behavior as well as classify it as data, architectural, procedural and interface design.
00:44:47:28 - 00:45:30:28
Unknown
So, analysis tools provide quicker and better solutions so that errors do not propagate into the design phase. The followings are the samples of case tools. Structured Analysis, Structure Design Editors, Compilers, Debuggers, Code generators; Report generators; Documentation generators; Configuration management; Defect tracking; Collaboration tools; Reverse engineering; Metric analyzers; Catalyze for project management; Cost Xpert tool for Web project’s cost estimations; and Cradle for system analysis, design, coding and documentation.
00:45:31:20 - 00:46:04:13
Unknown
As far as the Web engineering is concerned, we can even invite Internet users to participate in Web surveys. That's the end of Learning Outcome Number Six. So, by the end of the chapter, students should be able to describe the notations and tools for requirement engineering by identifying requirement engineering representations and methods, and also to list tools for requirement engineering. Conclusion.
00:46:04:13 - 00:46:38:19
Unknown
Chapter Conclusion. The process of gathering, analyzing, categorizing and modeling the requirements of web users is known as requirement engineering. It discusses the requirements of the Web application based projects. It is mandatory, otherwise certain requirements are missed out and result in customer dissatisfaction. This is the main reference of this chapter. End of Chapter Two. Thank you.
CHAPTER 05 :
UNIFIED MODELING LANGUAGE - AN INTRODUCTION
00:00:00:20 - 00:00:33:20
Unknown
Welcome to the course. Chapter Five : Unified Modeling Language - An Introduction. The content is provided under Common Creative License. Chapter Outlines. These are the outlines of the chapter. It begins with the Introduction, then followed by the Nature of UML and then we Identify the Types and Categories of UML. Later on, we discuss the Functions of UML diagrams. And then we look into the UML Course Highlights.
00:00:33:20 - 00:01:09:01
Unknown
And finally, we close the chapter with the Conclusion. Learning Outcomes. By the end of the chapter, students should be able to Describe the nature of UML. Identify the types and categories of UML. Discuss the functions of UML diagrams. Learning Outcome Number one. Describe the nature of UML. The nature of UML. Software practitioners have used modeling languages for a decades to specify.
00:01:09:14 - 00:01:48:21
Unknown
visualize, construct and document systems. Unified Modeling Language or a UML is one of those languages. And today UML is the most used standard modeling language for software and systems development. The definitions of unified modeling language. UML stands for Unified Modeling Language. It is an international industry standard graphical notation used for describing, visualizing, constructing and documenting the artifacts of a software system.
00:01:48:21 - 00:02:54:22
Unknown
UML is a modeling language, not a programing language. It is used to create top view diagrams of business processes. It is also designed to be non-technical in nature. The figure shows the official logo of UML. The goal and purposes of UML. So what is the main goal of UML? UML is a simple modeling mechanism used to model all possible practical systems in today's complex environment. UML served multiple purposes which include to reason about system behavior, to detect errors and omissions early in the lifecycle, to present proposed designs and communicate with stakeholders, to understand requirements and to drive implementation.
00:02:54:22 - 00:03:25:11
Unknown
Learning Outcome number one, the summary. By the end of the chapter, student should be able to describe the nature of UML. In this section, student should be able to discuss the concept of UML and elaborate the goal and purposes of UML. Learning outcome number two. Identify the types and categories of UML. Types of UML diagrams. What are the types of UML diagrams?
00:03:26:13 - 00:04:16:07
Unknown
UML comprise of 14 diagrams and diagrams are class diagrams, object diagrams, component diagrams, composite structure diagrams, package diagrams, deployment diagrams, profile diagrams, use case diagrams, activity diagrams, state machine diagrams, sequence diagrams, communication diagrams, timing diagrams and interaction overview diagrams. Categories of UML. As mentioned earlier, there are 14 types of UML diagrams, and these diagrams can be organized into three categories.
00:04:17:06 - 00:04:58:28
Unknown
The categories are structural diagrams, behavioral diagrams and interaction diagrams. Structural diagrams depict a state, take elements of an application while behavioral diagrams describe the dynamic functions of a system. And finally, the interaction diagrams show how the system functions over time in conjunction with other systems or uses categories and types of UML. That's why we have discussed earlier. We know that UML can be categorized into three.
00:04:58:28 - 00:05:43:07
Unknown
The first category is structure diagram. Second category is behavioral diagram and a category is interaction diagram. We also know that there are 14 types of UML diagrams. Every each of these diagrams will fall under one of the category. The figure shows the summary of the categories and types of UML. Let's begin the first category structure diagram. Structure diagram comprise of class diagram, object diagram, component diagram, composite structure diagram, package diagram, deployment diagram and profile diagram.
00:05:44:12 - 00:06:25:13
Unknown
The second category is behavior diagram, comprise of use case diagram, activity diagram and step machine diagram. And the third category, interaction diagram includes sequence diagram, communication diagram, timing diagram and interaction overview diagrams. Learning outcome number two, the summary. At the end of the chapter, students should be able to identify the types and categories of UML. This include to list all the 14 types of UML diagrams and to classify the UML diagrams into three categories.
00:06:26:22 - 00:07:09:19
Unknown
Learning outcome number three. Discuss the functions of UML diagrams. Structural diagrams, an overview. UML structural diagrams depict elements of a system that are independent of time and that convey the concepts of a system and how they relate to each other. The UML defines seven types of UML structural diagrams, which includes class diagram, object diagram, component diagram, composite structure diagram, package diagram, deployment diagram and profile diagram. Description of UML Structural Diagrams.
00:07:09:27 - 00:07:41:07
Unknown
The following are the brief description of the seven types of structural diagrams. Class Diagram. Class diagram shows a collection of a static model elements such as classes and types, their contents and their relationships. Object Diagram. Object diagram depicts objects and data relationships at a point in time, typically a special case of either a class diagram or a communication diagram.
00:07:42:18 - 00:08:49:28
Unknown
Component diagram. Component diagram are used to model higher level or more complex structures, usually build up from one or more classes and providing a well-defined interface. Composite structure diagram. Composite structure diagram reflect the internal collaboration of classes, interfaces and components together with their properties to describe a functionality. Package diagram. Package diagram shows how model elements are organized into packages as well as the dependencies between packages.
00:08:50:27 - 00:09:54:24
Unknown
Deployment Diagram. Deployment diagram are used to divide the model into logical containers or packages and describe the interactions between them at the high level. Profile diagram. Profile diagram describes lightweight extension mechanism to the UML by defining custom stereotypes, tagged values and constraints. Behavioral diagram, an overview. UML Behavioral Diagrams depict the elements of a system that are dependent on time and that convey the dynamic concepts of the system and how they relate to each other.
00:09:54:24 - 00:10:29:11
Unknown
The UML defines three types of UML behavioral diagrams, which includes use case diagram, activity diagram and state machine diagram. Description of UML Behavioral Diagrams. The following are the brief descriptions of the three types of behavioral diagrams. Use Case Diagram. Use Case Diagram are used to model user or system interactions by defining their behavior requirements and constraints in the form of scripts or scenarios.
00:10:30:20 - 00:11:14:11
Unknown
Activity Diagram. Activity Diagram models the behaviors of a system and the way in which these behaviors are related in an overall flow of the system. State machine diagram. State machine diagram illustrates how an element can move between states, classifying its behavior according to transition triggers and constraining guards. Interaction diagrams, an overview. UML Interaction diagrams used to capture the interactive behavior of a system and focus on describing the flow of messages within a system providing context for one or more lifelines within a system.
00:11:15:06 - 00:11:58:00
Unknown
UML defines four types of UML interactions diagrams which includes sequence, diagram, timing diagram, communication diagrams and
interaction overview diagrams. Description of UML Interaction Diagrams. The following are the brief description of the four types of interaction diagrams. Sequence Diagram. Sequence diagram are the structured representations of behavior as a series of sequential steps over time. Timing diagram. Timing Diagram define the behavior of different objects within a time-scale, providing a visual representation of objects, changing state, and interacting over time.
00:11:59:00 - 00:12:40:21
Unknown
Interaction overview diagram. Interaction overview diagram visualize the cooperation between interaction diagrams to illustrate a control flow, serving and encompassing purpose. Communication Diagram. Communication diagrams show the interactions between elements at runtime, visualizing into object relationship. Learning outcome number three, the Summary. By the end of this chapter, students should be able to discuss the functions of UML diagrams. In this section, students should be able to briefly explain all the 14 types of UML diagrams in three different categories. UML Course Highlights.
00:12:41:01 - 00:13:24:09
Unknown
For the purpose of this course, we are going to highlight only five types of UML diagrams. The diagrams are class diagrams, use case engrams, activity diagrams, state machine diagrams and sequence diagrams. Chapter Conclusion. Unified Modeling Language, UML is an international industry standard graphical notation used for describing, visualizing, constructing and documenting the artifacts of a software system. There are 14 types of UML diagrams and can be grouped into three categories, structural diagram, behavioral diagram and interaction diagram.
00:13:24:24 - 00:13:42:17
Unknown
Each types of the UML diagrams provide a visual representation of an aspect of a system. References. These are the list of references for this section. End of chapter five. Thank you.