The Automobile As An Object

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

And ask ourselves .Then we need to have the imagination and plan on that resourcefulness. We have to look for the materials and components to create that item whether it is software and hardware. After making it functional we always have to endaouver to maintain it and try to upgrade that as per the need of time.

I am first year Computer Systems and Networks engineering student. In respect of my discipline same rule applies in all spheres of computer design. Also emerging technology takes place of old technology. Because this is possible for the continuous endeavour of our scientists’ and researchers to evolve and give birth more advancing new process and concepts. Building engineering design totally depends on the goal of the particular design, when, how and by whom it will be used.

As for tsoftware design isuues enduarblity and sustaintalbity is alays considered.Life cycle is very paramoBuilding software quickly, correctly and economically remains an elusive goal at a time

when demands for new and more powerful software are soaring. Objects, or more precisely—

as we’ll see in Chapter 3—the classes objects come from, are essentially reusable software

components. There are date objects, time objects, audio objects, video objects,

automobile objects, people objects, etc. Almost any noun can be reasonably represented as

a software object in terms of attributes (e.g., name, color and size) and behaviors (e.g., calculating,

moving and communicating). Software developers are discovering that using a

modular, object-oriented design and implementation approach can make software-development

groups much more productive than was possible with earlier popular techniques

like "structured programming"—object-oriented programs are often easier to understand,

correct and modify.

The Automobile as an Object

To help you understand objects and their contents, let’s begin with a simple analogy. Suppose

you want to drive a car and make it go faster by pressing its accelerator pedal. What must

happen before you can do this? Well, before you can drive a car, someone has to design it.

A car typically begins as engineering drawings, similar to the blueprints that describe the

design of a house. These drawings include the design for an accelerator pedal. The pedal

hides from the driver the complex mechanisms that actually make the car go faster, just as

the brake pedal hides the mechanisms that slow the car, and the steering wheel "hides" the

mechanisms that turn the car. This enables people with little or no knowledge of how engines,

braking and steering mechanisms work to drive a car easily.

Just as you cannot cook meals in the kitchen of a blueprint, you cannot drive a car’s

engineering drawings. Before you can drive a car, it must be built from the engineering

drawings that describe it. A completed car has an actual accelerator pedal to make the car

go faster, but even that’s not enough—the car won’t accelerate on its own (hopefully!), so

the driver must press the pedal to accelerate the car.

Methods and Classes

Let’s use our car example to introduce some key object-oriented programming concepts.

Performing a task in a program requires a method. The method houses the program statements

that actually perform its tasks. The method hides these statements from its user, just

as the accelerator pedal of a car hides from the driver the mechanisms of making the car

go faster. In Java, we create a program unit called a class to house the set of methods that

perform the class’s tasks. For example, a class that represents a bank account might contain

one method to deposit money to an account, another to withdraw money from an account

and a third to inquire what the account’s current balance is. A class is similar in concept to

a car’s engineering drawings, which house the design of an accelerator pedal, steering

wheel, and so on.

Instantiation

Just as someone has to build a car from its engineering drawings before you can actually

drive a car, you must build an object of a class before a program can perform the tasks that

the class’s methods define. The process of doing this is called instantiation. An object is

then referred to as an instance of its class.

Reuse

Just as a car’s engineering drawings can be reused many times to build many cars, you can

reuse a class many times to build many objects. Reuse of existing classes when building new

classes and programs saves time and effort. Reuse also helps you build more reliable and

effective systems, because existing classes and components often have gone through extensive

testing, debugging and performance tuning. Just as the notion of interchangeable parts

was crucial to the Industrial Revolution, reusable classes are crucial to the software revolution

that has been spurred by object technology.

Messages and Methods Calls

When you drive a car, pressing its gas pedal sends a message to the car to perform a task—

that is, to go faster. Similarly, you send messages to an object. Each message is implemented

as a method call that tells a method of the object to perform its task. For example, a program

might call a particular bank account object’s deposit method to increase the account’s

balance.

Attributes and Instance Variables

A car, besides having capabilities to accomplish tasks, also has attributes, such as its color,

its number of doors, the amount of gas in its tank, its current speed and its record of total

miles driven (i.e., its odometer reading). Like its capabilities, the car’s attributes are represented

as part of its design in its engineering diagrams (which, for example, include an

odometer and a fuel gauge). As you drive an actual car, these attributes are carried along

with the car. Every car maintains its own attributes. For example, each car knows how

much gas is in its own gas tank, but not how much is in the tanks of other cars.

An object, similarly, has attributes that it carries along as it’s used in a program. These

attributes are specified as part of the object’s class. For example, a bank account object has

a balance attribute that represents the amount ofmoney in the account. Each bank account

object knows the balance in the account it represents, but not the balances of the other

accounts in the bank. Attributes are specified by the class’s instance variables.

Encapsulation

Classes encapsulate (i.e., wrap) attributes and methods into objects—an object’s attributes

and methods are intimately related. Objects may communicate with one another, but

they’re normally not allowed to know how other objects are implemented—implementation

details are hidden within the objects themselves. This information hiding, as we’ll see,

is crucial to good software engineering.

Inheritance

A new class of objects can be created quickly and conveniently by inheritance—the new

class absorbs the characteristics of an existing class, possibly customizing them and adding

unique characteristics of its own. In our car analogy, an object of class "convertible" certainly

is an object of the more general class "automobile," but more specifically, the roof can

be raised or lowered.

Object-Oriented Analysis and Design (OOAD)

Soon you’ll be writing programs in Java. How will you create the code (i.e., the program

instructions) for your programs? Perhaps, like many programmers, you’ll simply turn on

your computer and start typing. This approach may work for small programs (like the ones

we present in the early chapters of the book), but what if you were asked to create a software

system to control thousands of automated teller machines for a major bank? Or suppose

you were asked to work on a team of 1,000 software developers building the next U.S.

air traffic control system? For projects so large and complex, you should not simply sit

down and start writing programs.

To create the best solutions, you should follow a detailed analysis process for determining

your project’s requirements (i.e., defining what the system is supposed to do) and

developing a design that satisfies them (i.e., deciding how the system should do it). Ideally,

you’d go through this process and carefully review the design (and have your design

reviewed by other software professionals) before writing any code. If this process involves

analyzing and designing your system from an object-oriented point of view, it’s called an

object-oriented analysis and design (OOAD) process. Languages like Java are object oriented.

Programming in such a language, called object-oriented programming (OOP),

allows you to implement an object-oriented design as a working system.

The UML (Unified Modeling Language)

Although many different OOAD processes exist, a single graphical language for communicating

the results of any OOAD process has come into wide use. This language, known

as the Unified Modeling Language (UML), is now the most widely used graphical scheme

for modeling object-oriented systems. We present our first UML diagrams in Chapters 3

and 4, then use them in our deeper treatment of object-oriented programming through

Chapter 11. In our optional ATMSoftware Engineering Case Study in Chapters 12–13 we

present a simple subset of the UML’s features as we guide you through an object-oriented

design experience.

With virtualization, reducing you carbon output and increasing your bottom line go hand-in-hand. It can help you save power, consolidate resources, while also introducing added flexibility, scalability and resilience to your infrastructure.

Joshua Hoffman

Raise your hand if you don’t care about reducing your IT infrastructure costs. How about if you don’t care about the environment? Not many raised hands there in either case, but even if reducing carbon emissions isn’t at the top of your priority list, the two go hand-in-hand. Efficiency is the key to cutting costs—and carbon—when it comes to IT.

By reducing overhead, particularly by consolidating hardware, you can dramatically cut the cost of running your datacenter. You can also have a tangible, positive impact on the environment. The best tool for helping you to realize these savings is virtualization.

Virtualization helps you cut costs, and it’s relatively easy to get started. There are many resources available to help you plan, deploy, operate and maintain your virtualized infrastructure.

Understand the Benefits

There are numerous benefits of virtualization technology, and a number of ways it can have an impact on both costs and power consumption.

Consolidation: The physical aspects of your IT infrastructure—server hardware, storage, network connectivity and power consumption—all cost money. Virtualization quite simply lets you deliver more with less. You can consolidate workloads, each of which previously required its own server hardware, into virtual machines (VMs) running on fewer physical machines. You eliminate the need to purchase, manage, maintain and power those machines. The fewer machines you have, the less money it costs.

Scalability: Planning for peak workloads is one of the most common causes of maintaining greater capacity than you’d normally require. This means more hardware, software and other resources. For example, if you work for a retailer, you’ll need to plan for a spike in transaction traffic over the holiday season. You may spend the rest of the year maintaining unused capacity, just to be ready for the occasional spike. Moving your infrastructure and applications onto VMs lets you quickly add and allocate additional capacity when you need it—and you won’t have to maintain it year-round.

Reliability: Whether caused by a hardware failure, human error or a power outage, downtime costs money. Virtual servers are contained entirely as a software object, so you can easily and seamlessly migrate them to other physical hardware whenever necessary. Features like Live Migration (for more information about Live Migration, see the white paper entitled "Hyper-V Live Migration Overview & Architecture") help you do this.

Agility: Virtualization brings an unparalleled level of agility and flexibility to the datacenter. You can manage and maintain servers as discrete software components, rapidly create new servers from pre-defined and configured images, and reallocate resources to optimize performance and stability. You increase the efficiency of your IT resources and, most importantly, your time.

Foundations of the Virtualized Datacenter

The foundation for the virtual datacenter is Microsoft Windows Server 2008 R2 with Hyper-V Host servers, running Windows Server 2008 R2 with Hyper-V technology. These house your business services and applications within virtual "guest" machines.

Consolidating multiple server roles into virtualized environments running on a single physical machine makes more effective use of your hardware. It also unlocks potential benefits, such as the ability to quickly scale infrastructure, add virtual resources to take on new workloads or pick up slack during scheduled or even unexpected maintenance. For more detailed guidance on configuring Microsoft Windows Server 2008 R2 with Hyper-V, see the Hyper-V Getting Started Guide.

The primary tool for managing dynamic datacenters based on Hyper-V technology is System Center Virtual Machine Manager (VMM). VMM scales across a wide range of virtual environments, from a single server to fully distributed enterprise environments managing hundreds of hosts running thousands of VMs.

There are many benefits to managing your virtual infrastructure with VMM, including:

Virtualization support for virtual machines running on

VMM provides a critical layer of management and control. It gives you a unified view of your entire virtualized infrastructure across multiple host platforms and myriad guest OSes. It also delivers a powerful toolset to facilitate bringing on new workloads.

For example, the physical-to-virtual (P2V) conversion wizard included with VMM simplifies the process of converting physical workloads to VMs. When you use it in conjunction with SCOM, the PRO feature gives you dynamic virtual workload reallocation to ensure that you’re getting the most out of your physical hardware resources.

VMM also lets you maintain a library of managed VMs. This helps you rapidly deploy new virtual OS instances as needed. Within that library, you can maintain server templates already configured for your core applications and services.

As your workload demand rises, you can use these templates to instantly deploy a new instance of whichever service you need. You can assign granular permissions to the templates, and delegate template management to others. For more details on installing and configuring System Center Virtual Machine Manager 2008 R2, see the Virtual Machine Manager Deployment Guide.

SCVMM 2008 R2 Self-Service Portal 2.0

VMM has a self-service Web portal (called VMMSSP) so authorized users can create new virtual servers based on your templates. You maintain control over who can use the portal, but you can let other IT or departmental staff provision new machines as necessary. 

The VMMSSP helps you delegate tasks for greater cost efficiency. You can have business units manage their own IT needs, while the centralized infrastructure manages the physical resource pool (servers, networks and related hardware). That way you can still deliver services locally as needed, freeing you from workgroup-level tasks. 

Business units enrolling in the self-service portal system can use it to address a number of key functions. For example, using standardized forms, business units can request new infrastructures or changes to existing infrastructure components. They can also submit infrastructure requests. The standardized forms ensure that you have all the information you’ll need to fulfill the requests without repeatedly contacting the business unit for details.

Individual business units can create and manage their own VMs, using forms on the VMMSSP Web site. When a business unit submits a request to create a VM, the VMMSSP starts an automated provisioning process. This more quickly and efficiently creates the VM than doing so manually. Then the business units can designate their own administrators, advanced operators and users. This frees up IT staff and resources for other tasks.

You can simplify the process of enrolling business units and defining their needs up-front. That way, bringing new workloads on board is no longer a manual task. The VMMSSP collects information about a business unit and the resources they want to set up. The process of validating and provisioning resources for business units is simplified as well.

You can use the VMMSSP to assign resources based on business unit requests. Finally, changes to resources follow a request-and-approve lifecycle. Those requests remain on record in the database. This dramatically reduces the administrative burden of change control and management. All of these benefits equate to real time savings on your part, so you’ll be able to more effectively focus your energy.

Additional Resources

There are a number of tools and additional resources to help you get started. Your first stop should be the Microsoft Assessment and Planning (MAP) Toolkit for Hyper-V. MAP helps you take stock of your current server environment (including Windows Server and Linux OSes running in a virtual environment), determine which servers are underutilized, and then generate server placements and virtualization candidate assessments for Hyper-V implementation.

MAP also includes a VMware discovery feature that identifies already-virtualized servers running under VMware that can be managed with the Microsoft VMM platform. You could also migrate these to Windows Server 2008 R2 and Hyper-V.

You can also use the Microsoft Integrated Virtualization ROI Tool to calculate potential power cost savings with Hyper-V prior to deployment. Finally, the Hyper-V Cloud Deployment Guides are excellent resources that walk you through all aspects of a virtualization deployment, including architecture, deployment and operations.

The potential benefits of virtualization are vast—not only to your carbon output, but to your bottom line. As you consolidate resources, you’ll also introduce greater flexibility, scalability and resilience. You’ll save power, you’ll save time, and, most importantly, you’ll deliver value to your organization.



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now