pdf viewer in c# code project : Paste jpg into pdf Library application class asp.net windows html ajax software-architecture-practice135-part1366

[ Team LiB ]
14.8 Discussion Question
1: Suppose a company builds two similar systems using a large set of common assets, including an
architecture. Clearly these two systems form a product line. If they shared only an architecture
but no elements, would they still be a product line? Suppose they shared only a single element.
Suppose that all they shared was the same operating system and programming language runtime
libraries. Suppose that the shared asset was the team of developers. Would they be a product
line then?
[ Team LiB ]
This PDF file was converted by Atop CHM to PDF Converter free version!  http://www.chmconverter.com/chm-to-pdf/
Addison Wesley : Software Architecture in Practice, Second Edition
350 / 463
Paste jpg into pdf - copy, paste, cut PDF images in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed tutorial for copying, pasting, and cutting image in PDF page using C# class code
copy pdf picture to powerpoint; how to cut a picture out of a pdf file
Paste jpg into pdf - VB.NET PDF copy, paste image library: copy, paste, cut PDF images in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Tutorial for How to Cut or Copy an Image from One Page and Paste to Another
how to paste picture on pdf; copy picture to pdf
[ Team LiB ]
Chapter 15. CelsiusTech: A Case Study in Product Line
with Lisa Brownsword
Lisa Brownsword is a member of the technical staff at the Software Engineering Institute, Carnegie
Mellon University.
We trained hard, but it seemed that every time we were beginning to form up into teams, we
would be reorganized. I was to learn later in life that we tend to meet any new situation by
reorganizing; and a wonderful method it can be for creating the illusion of progress while
producing confusion, inefficiency, and demoralization.
—Petronius Arbiter, 210 B.C.
This chapter relates the experience of CelsiusTech AB, a Swedish naval defense contractor that
successfully adopted a product line approach to building complex software-intensive systems. Called Ship
System 2000 (SS2000), their product line consists of shipboard command-and-control systems for
Scandinavian, Middle Eastern, and South Pacific navies.
This case study illustrates the entire Architecture Business Cycle (ABC), but especially shows how a
product line architecture led CelsiusTech to new business opportunities. Figure 15.1
shows the roles of
the ABC stakeholders in the CelsiusTech experience.
Figure 15.1. The ABC as applied to CelsiusTech
[ Team LiB ]
This PDF file was converted by Atop CHM to PDF Converter free version!  http://www.chmconverter.com/chm-to-pdf/
Addison Wesley : Software Architecture in Practice, Second Edition
351 / 463
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
convert PDF to images, C#.NET PDF file & pages edit, C#.NET PDF pages extract, copy, paste, C#.NET Turn multiple pages PDF into multiple jpg files in
paste image into preview pdf; copy image from pdf to ppt
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
Turn multiple pages PDF into single jpg files respectively online. Support of converting from any single one PDF page and multiple pages.
copy image from pdf to word; extract images from pdf files without using copy and paste
[ Team LiB ]
15.1 Relationship to the Architecture Business Cycle
CelsiusTech has long been known as a leading supplier of command-and-control systems within
Sweden's largest, and one of Europe's leading, defense industry groups, which also includes Bofors,
Kockums, FFV Aerotech, and Telub. At the time they developed the systems that are the subject of this
chapter, CelsiusTech was composed of three companies: CelsiusTech Systems (advanced software
systems), CelsiusTech Electronics (defense electronics), and CelsiusTech IT (information technology
systems). It employed approximately 2,000 people and had annual sales of 300 million U.S. dollars. Their
main site is near Stockholm, with subsidiaries located in Singapore, New Zealand, and Australia.
This study focuses on CelsiusTech Systems (CelsiusTech for short), whose focus includes command,
control, and communication (C3) systems, fire control systems,
and electronic warfare systems for
navy, army, and air force applications. The organization has undergone several changes in ownership
and name since 1985 (see Figure 15.2
). Originally Philips Elektronikindustrier AB, the division was sold to
Bofors Electronics AB in 1989 and reorganized into NobelTech AB in 1991. It was purchased by
CelsiusTech in 1993. Although senior management changed with each transaction, most of the mid-and
lower-level management and the technical staff remained, thus providing continuity and stability.
The term 
fire control
refers to firing a gun at a moving target, from a platform that is itself
moving with 6 degrees of freedom and flexing as well.
Figure 15.2. CelsiusTech Systems' corporate evolution
CelsiusTech's naval product line, known as Ship System 2000 (internally as Mk3), provides an integrated
system that unifies all weapons, command-and-control, and communication systems on a warship. Typical
system configurations include 1 million to 1.5 million lines of Ada code distributed on a local area network
(LAN) with 30 to 70 microprocessors.
A wide variety of naval systems, both surface and submarine, have been or are being built from the same
product line. These include the weapons, command-and-control, and communications portions of the
Swedish Göteborg class coastal corvettes (KKV) (380 tons)
Danish SF300 class multi-role patrol vessels (300 tons)
Finnish Rauma class fast attack craft (FAC) (200 tons)
Australian/New Zealand ANZAC frigates (3,225 tons)
Danish Thetis class ocean patrol vessels (2,700 tons)
Swedish Gotland class A19 submarines (1,330 tons)
This PDF file was converted by Atop CHM to PDF Converter free version!  http://www.chmconverter.com/chm-to-pdf/
Addison Wesley : Software Architecture in Practice, Second Edition
352 / 463
C# Create PDF from images Library to convert Jpeg, png images to
convert PDF documents from multiple image formats, including Jpg, Png, Bmp Component for combining multiple image formats into one or multiple PDF file in C#
how to copy an image from a pdf in preview; how to copy picture from pdf to powerpoint
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
DotNetNuke), SharePoint. Get JPG, JPEG and other high quality image files from PDF document. Able to extract vector images from PDF. Extract
how to copy and paste image from pdf to word; how to cut and paste image from pdf
Pakistani Type 21 class frigates
Republic of Oman patrol vessels
Danish Niels Juel class corvettes
The Naval Systems division has sold more than 50 of its Mk3 naval systems to seven countries.
Figure 15.3
shows a Royal Swedish Navy multi-role corvette of the Göteborg class during a visit to
Stockholm harbor. On top is the C/X-band antenna of the surveillance and target indication radar.
Forward and aft of this, on top of the superstructure, are the two fully equipped fire control radar and
optronic directors from CelsiusTech.
Figure 15.3. Swedish multi-role Corvette of the Göteborg class featuring a CelsiusTech
command-and-control system.
Photo from Studio FJK; reproduced with permission.
Systems built from the product line vary greatly in size, function, and armaments. Each country requires
its own operator displays on different hardware and in different presentation languages. Sensors and
weapons systems, and their interfaces to the software, also vary. Submarines have different requirements
than surface vessels. Computers in the product line include 68020, 68040, RS/6000, and DEC Alpha
platforms. Operating systems include OS2000 (a CelsiusTech product), IBM's AIX, POSIX, Digital's Ultrix,
and others. The SS2000 product line supports this range of possible systems through a single
architecture, a single core asset base, and a single organization.
In this section we discuss CelsiusTech's results in building complex software-intense systems.
Shrinking Schedules
Figure 15.4
shows the status and schedules for later systems under development from the CelsiusTech
product line. Ships A and B were contracted for at the same time and, as we will see, caused CelsiusTech
This PDF file was converted by Atop CHM to PDF Converter free version!  http://www.chmconverter.com/chm-to-pdf/
Addison Wesley : Software Architecture in Practice, Second Edition
353 / 463
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
DotNetNuke), SharePoint. Scan high quality image to PDF, tiff and various image formats, including JPG, JPEG, PNG, GIF, TIFF, etc. Able to
copy images from pdf to powerpoint; how to copy image from pdf file
VB.NET Create PDF from images Library to convert Jpeg, png images
multiple image formats in VB.NET, including Jpg, Png, Bmp Turn multiple image formats into one or multiple PDF Crop and paste specified image area to PDF page.
how to copy pictures from pdf to word; how to copy an image from a pdf file
to move to a product line approach. System A is the basis of the product line. Customer project A ran
almost nine years, although functional releases were running on the designated ship by late 1989.
System B, the second of the two original projects, required approximately seven years to complete and is
similar to the previous non-product-line Mk2.5 system. It was built in parallel with system A, validating the
product line. While neither system individually showed greater productivity, CelsiusTech was able to build
both (and the product line) with roughly the same number of staff as for a single project.
Figure 15.4. Product schedules
Systems C and D were started after much of the product line existed, with a correspondingly shortened
completion time. Systems E and F show a dramatic schedule reduction because they are fully leveraging
the product line assets. CelsiusTech reports that the last three ship systems were all 
Code Re-use
While the production schedules show time to market for a product, they do not indicate how well the
systems use a common asset base. Figure 15.5
shows the degree of commonality across the
CelsiusTech naval systems. On average, 70% to 80% consist of elements used verbatim (i.e., checked
out of a configuration control library and inserted without code modification).
Figure 15.5. Commonality across CelsiusTech naval systems
Using Core Assets to Expand the Business Area
CelsiusTech has expanded its business into a related area that takes advantage of the architecture and
This PDF file was converted by Atop CHM to PDF Converter free version!  http://www.chmconverter.com/chm-to-pdf/
Addison Wesley : Software Architecture in Practice, Second Edition
354 / 463
C# WPF PDF Viewer SDK to convert and export PDF document to other
Read: PDF Image Extract; VB.NET Write: Insert text into PDF; C#.NET PDF pages extract, copy, paste, C#.NET quality, support converting PDF to PNG, JPG, BMP and
how to copy a picture from a pdf; copy and paste images from pdf
VB.NET PDF Convert to Images SDK: Convert PDF to png, gif images
PDF documents to multiple image formats, including Jpg, Png, Bmp, Gif, Tiff, Bitmap, .NET Graphics, and REImage. Turn multipage PDF file into image files in
paste jpg into pdf preview; copy and paste image from pdf to word
other core assets that were originally developed for naval uses. STRIC, a new air defense system for the
Swedish Air Force, embraces the abstraction that a ground platform is a ship whose location does not
change very often and whose pitch and roll are constantly zero. Because of the flexibility (amenability to
change) of the SS2000 architecture and product line, CelsiusTech was able to quickly build STRIC, lifting
40% of its elements directly from the SS2000 asset base. (See the sidebar Mastering Abstraction at
.) This demonstrates one of the feedback links in the ABC: The existence of the SS2000
product line and its architecture enabled new business opportunities.
Mastering Abstraction at CelsiusTech
Studying software product lines holds two particular fascinations for me. The first is
discovering what all successful product line organizations have in common. Early in our study
of product lines, the list of what I thought was required to be successful was fairly long. As we
discovered and analyzed more examples, each brought with it a new dimension of experience
and each seemed to whittle away at my list of organizational must-haves.
One common aspect still remains, however, and that is a product line mindset. A successful
product line organization considers its business to be the care, nurturing, and growth of its
software product line, 
, particularly its core asset base. This is in stark contrast to
immature or unsuccessful product line organizations that see their enterprise as churning out a
set of products, 
, that have some things in common.
The distinction is subtle but palpable. A product-based organization talks about its products
and subjugates long-term product line goals to satisfy short-term product deadlines. Such an
organization will, for example, reward workers for heroic measures to get a product out the
door, even if it means performing a late night clone-and-own on a core asset. In contrast, a
product-line-based organization talks about the product line and its health almost as if
individual members of the family are coincidental byproducts. This singular mindset helps a
product-line-based organization make strategic moves quickly and nimbly and as a unified
The second fascination for me is what a successful product line organization can do, at the
enterprise level, with this powerful capability. With an innate understanding of the product
line's scope—that is, an articulated definition of what systems are within the product line's
capability to build and what systems are not—an enterprise can make a conscious decision to
"drive" its capability around the neighborhood and pick up business in nearby under-utilized
At CelsiusTech, both of these points were made eloquently by a cartoon I saw on a
developer's bulletin board during our visit to gather information for this chapter. I wish I had
asked for a photocopy of it, but it looked something like this:
At about the time of our visit, CelsiusTech had announced a new project to build a product line
of air defense systems—that is, ground-based anti-aircraft guns. The company estimated that
on the day they made the announcement, fully 40% of the new product family was in place
because it was based on Ship System 2000.
This PDF file was converted by Atop CHM to PDF Converter free version!  http://www.chmconverter.com/chm-to-pdf/
Addison Wesley : Software Architecture in Practice, Second Edition
355 / 463
VB.NET PDF insert image library: insert images into PDF in vb.net
Support various image formats, like Jpeg or Jpg, Png, Gif, Bmp, Tiff and other Import graphic picture, digital photo, signature and logo into PDF document.
copy and paste image into pdf; how to cut an image out of a pdf
The developer's cartoon made the point that an air defense system is just a simplified ship on
land that does not pitch or roll much and stays stationary most of the time. It told me that the
CelsiusTech staff had a firm grasp of the concept of abstraction, but it also told me that they
had the product line mindset. This cartoon was not about the production of an air defense
system but a celebration of what their beloved product line was about to become. It succinctly
depicted the company's enterprise-level foray into a whole new business area via its product
line capability. That cartoon was a magnificent exhibition of one organization's product line
To understand why CelsiusTech made the decision to develop a product line and what actions were
required, it is important to know where it began. Prior to 1986, the company developed more than 100
systems, in 25 configurations, ranging in size from 30,000 to 700,000 source lines of code (SLOC) in the
fire control domain.
From 1975 to 1980, CelsiusTech shifted its technology base from analog to 16-bit digital, creating the so-
called Mk2 systems. These tended to be small, real-time, and embedded. The company progressively
expanded both system functionality and expertise with real-time applications in the course of building and
delivering 15 systems.
From 1980 to 1985, customer requirements were shifting toward the integration of fire control and
weapons with command and control, thus increasing the size and complexity of delivered systems. The
Mk2 architecture was expanded to provide for multiple autonomous processing nodes on point-to-point
links, resulting in Mk2.5. Mk2.5 systems were substantially larger, in both delivered code (up to 700,000
SLOC) and number of developers (300 engineer-years over 7 years).
Conventional development approaches were used for Mk2.5. These had served the company well on the
smaller Mk2 systems, but difficulties in predictable and timely integration, cost overruns, and schedule
slippage resulted. Such experiences were painful, but they were important lessons for CelsiusTech. The
company gained useful experience in the elementary distribution of real-time processes onto autonomous
links and in the use of a high-level, real-time programming language (in this case, the Pascal-like RTL/2).
Figure 15.6
shows the systems built by CelsiusTech prior to 1985.
Figure 15.6. Systems built by CelsiusTech prior to 1985
In 1985, a defining event for CelsiusTech (then Philips) occurred. The company was awarded two major
contracts simultaneously—one for the Swedish Navy and one for the Danish Navy. Requirements for both
ships indicated the need for systems larger and more sophisticated than the Mk2.5s, which had suffered
from schedule and budget difficulties. Having to build two even larger systems, let alone in parallel,
presented management and senior technical staff with a severe dilemma. Clearly, the development
technologies and practices applied on the Mk2.5 system would not be sufficient to produce the new
This PDF file was converted by Atop CHM to PDF Converter free version!  http://www.chmconverter.com/chm-to-pdf/
Addison Wesley : Software Architecture in Practice, Second Edition
356 / 463
systems with any reasonable certainty of schedule, cost, and required functionality. Staffing requirements
alone would have been prohibitive.
This situation provided the genesis of a new business strategy that recognized the potential 
opportunity of selling and building a series, or family, of related systems rather than some number of
specific systems. Thus began the SS2000 product line. Another business driver was the recognition of a
20-to 30-year lifespan for naval systems. During that time, changes in threat requirements and in
technology advances would have to be addressed. The more flexible and extensible the product line, the
greater the business opportunities. These business drivers or requirements forged the technical strategy.
The technical strategy would need to provide a flexible and robust set of building blocks to populate the
product line from which new systems could be assembled with relative ease. As new system requirements
arose, new building blocks could be added to the product line to sustain its business viability.
In defining the technical strategy, an assessment of the Mk2.5 technology infrastructure indicated serious
limitations. A strategic decision was made to create a new-generation system (the Mk3) that would include
new hardware and software and a new supporting development approach. This would serve as the
infrastructure for new systems development for the next decade or two.
CelsiusTech's decision to convert its business strategy to a product line approach coincided with a time of
high technology flux. This meant that, to implement the technical strategy for the SS2000 product line,
virtually all aspects of the hardware, the software, and development support would have to change. Thus,
the hardware shifted from VAX/VMS minicomputers to Motorola 68000-series microcomputers. Whereas
the Mk2.5 systems consisted of a small number of processors on point-to-point links, the SS2000
products have a large number of highly distributed processors with fault-tolerant requirements. The
software life-cycle approach shifted from RTL/2-based structured analysis/design and waterfall
development to Ada83 with more object-based and iterative development processes. Development
support migrated from custom, locally created and maintained development tools to a large, commercially
supplied environment. The major technical differences are summarized in Figure 15.7
Figure 15.7. Changing technical infrastructures
The CelsiusTech experience reveals several factors that played an important role in the establishment of
the SS2000 product line, some of which were advantages, some inhibitors.
Ownership Changes
While it is routine to buy, sell, and restructure companies, the impact on an organization attempting to
adopt significantly different business and technical strategies can be devastating. Typically, management
This PDF file was converted by Atop CHM to PDF Converter free version!  http://www.chmconverter.com/chm-to-pdf/
Addison Wesley : Software Architecture in Practice, Second Edition
357 / 463
changes associated with company ownership transactions are sufficient to stop any transition or
improvement efforts under way (as observed by Petronius Arbiter over two millennia ago). That this did
not happen at CelsiusTech can be attributed either to strong and far-sighted top management or to top
management's preoccupation with the other issues. Since CelsiusTech changed hands several times
during this period, the latter explanation is more likely. It is clear that middle management had a strong
commitment to a product line and were allowed to proceed unfettered by top management, who might
otherwise have been hesitant to approve the necessary upfront investments. Normally a reorganization
disrupts the entire organization. In the CelsiusTech case, the effects of the reorganizations and changes
of ownership were buffered by middle management.
The award of two major naval contracts in 1986, ostensibly a reason for celebration, was regarded as a
crisis by CelsiusTech. Management immediately realized that they had neither the technical means nor
the personnel resources to simultaneously pursue two large development efforts, each pioneering new
technologies and application areas. Since all CelsiusTech contracts are fixed price, large-scale failure
meant large-scale disaster. Indeed, less challenging systems had been over budget, past schedule, hard
to integrate, and impossible to predict.
CelsiusTech was driven to the product line approach by circumstances; they were compelled to attempt it
because their viability was clearly at stake. The fact that this period was also one of major technological
change made it much more difficult to separate the costs associated with product line changes from those
associated with adopting new technology.
Technology Changes
In 1986, all the chosen technologies were immature, with limited use in large industrial settings. Big, real-
time, distributed systems making extensive use of Ada tasks and generics were envisioned but at the time
were unprecedented. Moreover, object-based development for Ada was still a theoretical discussion.
From 1986 to 1989, then, CelsiusTech was coping with the following:
The maturation of technologies, such as Ada and object technology
The maturation of supporting technology, such as networking and distribution
The maturation of infrastructure technology, such as development environments and tools to assist
in the automation of development processes
The learning curve of the company, both technical and managerial, in the use of new technologies
and processes inherent in the product line approach
The learning curve of customers, who did not fully understand the contractual, technical, and
business approaches of product lines
The management of similar requirements across several customers
These maturation issues significantly increased the time required to create the product line. An
organization making the same development paradigm shift today would be in a much better position, with
microcomputers, networks, portable operating systems, open systems standards, object-based
development methods, Ada (or other programming languages appropriate to the domain and platforms),
performance engineering, distributed systems technology, real-time operating systems, real-time analysis
tools, large-project support environments, and large-project process assistants. These technologies are
all either mature or at least usable and readily available. Also, much more is known about building and
fielding software product lines (see Chapter 14
). CelsiusTech estimates that up to one-third of its initial
technology investment was spent building assets that can now be purchased commercially.
This PDF file was converted by Atop CHM to PDF Converter free version!  http://www.chmconverter.com/chm-to-pdf/
Addison Wesley : Software Architecture in Practice, Second Edition
358 / 463
CelsiusTech's organizational structure and practices did not remain constant over the ten-year period
covered here, but migrated through several distinct structures. The kind of knowledge and skills required
of the staff also changed.
Project Organization Prior to 1986
The naval command-and-control system (Mk2.5) development was headed by a project manager who
used the services of various functional areas, such as weapons or C3, to develop major segments of
system capability. Figure 15.8
shows the organizational structure for the Mk2.5 project. Each functional
area (command-and-control, tracking, etc.) was led by a project manager who had direct authority for staff
resources and for all system development activities through release to system integration.
Figure 15.8. Mk2.5 project organization, 1980–1985
CelsiusTech found that this compartmentalized arrangement fostered a mode of development
characterized by the following:
Assignment of major system segments to their respective functional areas as part of system analysis
Requirements and interfaces allocated and described in documents, with limited communication
across functional area boundaries, resulting in individual interpretation of requirements and
interfaces throughout design, implementation, and test
Interface incompatibilities typically not discovered until system integration, resulting in time wasted in
assigning responsibility and protracted, difficult integration and installation
Functional area managers with little understanding of areas other than their own
Functional area managers with limited incentives to work as a team to resolve program-level issues
SS2000 Organization Late 1986 to 1991
With the introduction of the SS2000 product line in late 1986 came a number of organizational changes
from the Mk2.5 project organization. Figure 15.9
shows the organizational structure CelsiusTech used
from late 1986 until 1991. A general program manager designated to lead the program was responsible
for both creation of the product line and delivery of customer systems built from it. CelsiusTech sought to
remedy the problems associated with the compartmentalized structure of the past by creating a strong
management team focused on product line development as a company asset rather than on "empire
building." To this end, functional area managers now reported directly to the general program manager.
Developers were assigned to functional areas—weapons, C3, or human–computer interface (HCI),
common services (used by the functional areas), and the interface to the various hardware and operating
systems (called the Base System).
This PDF file was converted by Atop CHM to PDF Converter free version!  http://www.chmconverter.com/chm-to-pdf/
Addison Wesley : Software Architecture in Practice, Second Edition
359 / 463
Documents you may be interested
Documents you may be interested