Вы находитесь на странице: 1из 4

Pop Art, Inc.

White Paper: Programming


D a t e M o d i f i e d : S e p t e m b e r 24 t h , 2 0 0 3

Pop Art® Programming Services During the Needs Assessment and Project
Definition stage, project team members work
Pop Art possesses extensive knowledge of many closely with the client to bring forth the best ideas
programming languages and technologies, allowing and to solidify and synthesize them into the
us to provide our clients with the managed or Requirements Document. This document specifies
contract programming services necessary for what the system will accomplish and what parameters
successful projects. Our clients rely on our expertise it must operate within. After the completion of the
to quickly produce applications that are scalable, Requirements Document, the Functional
extensible, efficient, and highly available. Specification Document is produced. This document
Pop Art applies industry standard application transforms the requirements into a blueprint used
development and programming best practices to all by programmers and system engineers to build the
our projects. This translates into elegant and cost- system, and includes a full definition of any UI
effective solutions to complex business challenges. elements, all objects and components, exposed
APIs, and any database schema. The functional
Pop Art® Process specification adds depth by clarifying vague
The Pop Art Process ensures that we meet our requirements and further specifying business logic
clients’ needs. It also guarantees that we satisfy all not accounted for during the requirements phase.
system requirements, including timeframe and As a companion to the functional specification, the
budget. Obtaining and clarifying project require- Technical Specification outlines the framework,
ments is the first step toward a successful project. architecture and platform of the system. Use
Cases document the system from the user’s point
of view, which helps both Pop Art and the client to
“Because fixing upstream defects down- build a system that is user-friendly and intuitive.
stream costs 50 to 200 times as much
as fixing them upstream does, carefully A thorough and well-planned needs assessment
orchestrated projects jump at the phase is critical to any successful project. Pop Art
chance to fix as many mistakes as pos- does not write any code until the client has a good
sible at the bargain price of 1/50 to understanding of, and agrees to, how the final
1/200 their potential cost.” system will function. For more information about
Steve McConnell - “The Software Project Survival Guide” the requirements phase of a project, please see our
Requirements Analysis White Paper.

BUILD BUILD BUILD


USES CASES APPLICATION APPLICATION APPLICATION

INTERNAL
NEEDS REQUIREMENTS BUILD TESTING CLIENT REVIEW PROJECT PROJECT
TEST PLAN REVIEW/QA
ASSESSMENT DOCUMENT FRAMEWORK (BETA LAUNCH) LAUNCH MAINTENANCE
(ALPHA LAUNCH)

PROJECT FUNCTIONAL IMPLEMENT/ IMPLEMENT/ IMPLEMENT/


DEFINITION SPECIFICATION RUN TESTS RUN TESTS RUN TESTS

TECHNICAL
SPECIFICATION

Figure 1 - The Pop Art Programming Process

www.popart.com
Pop Art, Inc. 618 NW Glisan St., Suite 401 Portland, Oregon 97209 Telephone: (503) 242-4292 Toll Free: (888) POP-ART1 Fax: (503) 242-2491
Development Process thorough documentation is created for all code written.
The development cycle of a project begins with the Pop Art also employs a peer-review system, further
definition and creation of the testing framework, enhancing the reliability of the software we create.
during which all required tests are planned. The
Code Reuse
actual development process is iterative, repeating
the basic cycle of build and test, followed by a Through following industry standard object-oriented
review phase. After the first build and test phase and service-oriented design principles, in addition to
is completed, an internal review is conducted, thorough documentation standards, Pop Art has, over
known as the time, developed a rich library of reusable software
Pop Art Best Practices components. When performing client work, we will
“alpha launch.”
The project is draw from these pre-built components first. Our
• Requirements Phase
deployed to a stag- • Extensive Documentation second choice is to purchase a third-party pre-built
ing environment, component. We only develop custom code if these
• Peer Review other two options do not provide adequate service.
which mimics the
live environment • Source Control Through this policy, Pop Art is able to leverage existing
to enhance testing • Load Testing code, further enhancing the value we provide.
reliability. Issues • Unit Testing
Quality Assurance
uncovered in this • Phased Deployment
Pop Art is dedicated to producing high quality
review process are
code, and employs an extensive system of testing
addressed in another build, test, and review cycle.
and review for exactly that purpose. All code is
This leads to an external client review of the
subjected to thorough testing by Pop Art engineers
application, known as the “beta launch,” which is
- both the engineers who created the code and
followed by another building and testing phase.
other engineers through an extensive peer-review
Depending on the requirements of each individual
system. Projects are also routinely tested by the
project, there are likely to be further internal and
entire staff.
external reviews, followed by additional building
and testing stages. Once the project is ready, it is Pop Art employs a testing methodology called
launched to the live environment. Unit Testing, which is a development and testing
paradigm that dictates code is written to satisfy
Industry Best Practices
rigorously defined test conditions, not vice-versa
Pop Art is dedicated to delivering the most value to as is often the case. A “Unit Testing Framework”
our clients, and therefore adheres to industry-standard allows a developer to create actual executable
best practices across
all aspects of software PRESENTATION TIER
development. We
SMART
manage all code and CLIENT DESKTOP
XML DATA STORE SQL DATABASE
APPLICATION
related material using WEB BROWSER

a source control and


versioning program, SQL
which allows our engi- XML, WEB SERVICES, XML, WEB SERVICES, XML, WEB SERVICES,
neers to easily view WEB SERVER LOCAL LOCAL

historical records and STORED PROCEDURES

gives our clients con-


fidence that every- CUSTOMER LOGIC ORDER LOGIC ADO.NET
XML
thing created is
securely archived. As
XML, WEB SERVICES, DATA ACCESS
noted in the process CMS LOGIC SHIPPING LOGIC LOCAL MODULE

diagram and in the


Requirements APPLICATION TIER DATA TIER
Analysis White Paper,
Figure 2 - A common n-ttier system architecture

White Paper: Programming 2

www.popart.com
Pop Art, Inc. 618 NW Glisan St., Suite 401 Portland, Oregon 97209 Telephone: (503) 242-4292 Toll Free: (888) POP-ART1 Fax: (503) 242-2491
programs for each test. When these programs are In adopting a new standard, Pop Art performs a
run, the engineer is told exactly whether or not critical analysis to determine its feasibility and benefits.
the code written conforms to the defined test New technology and standards are generally adopted
conditions. Unit testing is attractive for many reasons, only after they become widely accepted. This
but chief among them is the ease of repeatedly ensures that Pop Art is always using the best
running tests across the entire application. technology available while minimizing risk.

System Architecture
Pop Art employs enterprise-level software devel- Pop Art Technologies
opment techniques in all of our projects, including
“tiered” architecture design. A tiered system is Frameworks / APIs
one that has code and services dealing with similar
• Microsoft .NET
aspects of the system architecture abstracted into
• ASP.NET
groups, known as “tiers.” System types are named • Classic ASP
for the number of tiers they contain, for example • Palm OS API
2-tier and 3-tier systems. Pop Art uses a more • Microsoft .NET Compact Framework
general tiered principle, ‘n-tier’ development,
which allows us to use the right number of tiers Languages
for each application. In the diagram below, there • C#
are three primary tiers, but some of the inter-tier • Visual Basic / COM+
communication methods and some internal sections • SQL
may count as minor tiers in their own right, giving • C / C++
rise to the more flexible “n-tier” label. • Perl
• XSLT
Separating the application into tiers allows each • Scripting (VBScript, Javascript & JScript)
tier to be managed independently from the rest of • PHP
the application, greatly increasing the expandability,
extensibility, scalability, and reusability of the Platforms and Operating Systems
application. A tiered system also allows the logical • Microsoft Windows Server 2000 / 2003
architecture to be separated from the physical • Linux
architecture, contributing to system scalability. • Palm OS
The system in the diagram above, for example, • PocketPC
might be implemented with each tier on the same
physical server, or, using XML Web Services as the Data Repositories
inter-tier communication method, the tiers may be • MS SQL Server
on servers separated by an arbitrary physical distance. • XML
Using separate servers also allows each tier to be •MySQL
implemented using different software platforms for
added flexibility. Standards
• HTML, UML, XML, W3C
Standards Adoption • Americans with Disabilities Act
Pop Art adopts the latest widely accepted industry • XML Web Services (SOAP / WSDL / UDDI)
standards in programming, design, and project
management to best serve client needs. Using
standard technology is crucial in developing business
systems which need (or might someday need) to
communicate with other business systems.
Standards also make it less likely that internal
processes will need to be replaced to interact with
newer components, extending a product’s life cycle.

White Paper: Programming 3

www.popart.com
Pop Art, Inc. 618 NW Glisan St., Suite 401 Portland, Oregon 97209 Telephone: (503) 242-4292 Toll Free: (888) POP-ART1 Fax: (503) 242-2491
.NET Framework usually proprietary interfaces. However, with the
Pop Art’s preferred development platform is the rise of global computing and networks, a demand
Microsoft .NET Framework, a feature-rich frame- has arisen for a more flexible approach - one that
work for programming everything from desktop allows functionality and data to be shared in a
applications, to web interfaces, to PDAs and cell common way across both large and small distances.
phones. .NET allows programmers to treat web Service Oriented Architecture (SOA) is the solution
projects as first-class software engineering projects to this need.
with a robust object-oriented, event-driven pro-
In SOA, software components expose their
gramming model. This allows Pop Art to leverage
functionality or data through a network address
a wide variety of traditional, proven software
(generally a URL), and then publish a standard
engineering techniques and apply them to the
interface (a “contract”) that specifies the format of
web. Pop Art is able to architect and engineer
the data they expect to send and receive. Clients
web-projects, instead of merely building web-pages.
desiring to use this functionality can then simply
.NET also has deep-rooted support and usage of
make a connection to a network address, passing in
XML Web Services, as well as comprehensive tools
the necessary data, and in return getting the result.
for their creation and use.
The network based approach of Service Oriented
XML Web Services
Architecture doesn’t imply a lack of security or any
XML Web Services are a widely accepted method inability to limit access. Instead, this approach
for application communication and execution, often forces security to the forefront, often leading to a
used for inter-tier communication, as mentioned more thoroughly considered security policy. As the
above. The key factor in web services is that they logical combination of global networks and modern
allow a programmer to make only extremely minimal trends in software architecture, SOA is becoming
assumptions about the end-user of their application, increasingly popular and accepted as the modern
whether that is a human or a business system, greatly way to model enterprise systems.
enhancing application portability, scalability,
extensibility, and compatibility. If a system is able
to send and receive messages and understand XML,
then that system is able to use web services.

XML Web Services and the involved technology,


such as SOAP, XML-RPC, WSDL, and XML
Schema, are changing the way systems are built for
several reasons. While no programmer can see the
future, web services allow software that is written
now to be “forward-compatible” with software that
hasn’t been written yet. With XML Web Services,
systems that have never communicated before are
suddenly able to, and the possibilities and ramifi-
cations of this are just beginning to be explored.

Service Oriented Architecture


The broader way to consider service-based systems,
such as those typically using XML Web Services, is
in the concept of Service Oriented Architecture.
Generally, software consists of components that
communicate with one another based on rigid and

Pop Art, the Pop Art logo and other marks designated with a ®, TM or SM are trademarks of Pop Art, Inc. Other company products and
service names may be trademarks of others. ©2003 Pop Art, Inc. All rights reserved.

White Paper: Programming 4

www.popart.com
Pop Art, Inc. 618 NW Glisan St., Suite 401 Portland, Oregon 97209 Telephone: (503) 242-4292 Toll Free: (888) POP-ART1 Fax: (503) 242-2491

Вам также может понравиться