TS5354 – Enterprise Software Interface Design
Unit 10 Assignment 1
Final Project Submission
Component-Based Software Development (CBSD) is a process that saves time, money,
effort and produces quality in the development of software. Instead of developing or
writing code from scratch for any given system, ready-to-use components of pre-built
software can be integrated into a project.
With the use of “knowledge and artifacts” (Te’eni P. 405) from existing systems time is
saved because the thought process for creating the logic behind the component being
developed is less. Effort in creating code from scratch, also because of the codes logic in
a pre-built component, becomes less of a concern as much of this work is already done. It
should be mentioned however that pre-built components can be modified, with some risk
of introducing bugs, so more effort and time could exist.
Money is saved with CBSD because developers need not worry about creating the
functionality of the component while quality in the component is optimal as the
component is time tested and proven before it is actually available to the general public.
In terms of Country Harvest Bakery (CHB) CBSD has two purposes. The first use of
CBSD is with the programs that build the website. I use Photoshop, Flash, and
DreanWeaver in building my website. These programs were created using CBSD and
would not be available without it.
Taking DreamWeaver as an example it contains buttons, menus, form objects, windows,
and other user interface entities in its presentation to the user. These interface objects are
pre-built components that have been created once and are used over and over in building
the DreamWeaver user interface. For instance buttons in DreamWeaver, little square
objects that press in and out as you click your mouse and release it are all pre built with
properties such as color, size, and methods such as press in and release.
The menu bar in DreamWeaver is loaded with pre-built menu components. File and its
submenus open, save, save all, etc. are all pre-built components that are used
ubiquitously in all types of programs from Microsoft’s Word to Adobe’s Photoshop.
When these programs are created the above mentioned characteristics of time, money,
effort, and quality come into play as we see CBSD in use.
The second use of CBSD is in my website project itself. When adding components such
as form textboxes and buttons to a page I just use the insert menu to add the already built
website objects. No creation from scratch as each component is ready made and
available. Ironically the buttons and menus that add these components of pre-built
software to each page of CHB are themselves pre-built as just mentioned in the preceding
Care must be taken not to introduce website objects that are not consistent to the tasks at
hand. When the “potential users, user tasks, and use context are unknown” (Te’eni P.
405) as the components are built, it becomes a risk of introducing inconsistency into the
website as each component can appear different from neighboring components when
One solution to inconsistent website objects and hence inconsistent user interfaces is in
“evaluating the individual component’s usability from the user interface perspective”
(Te’eni P. 406). Components as they’re being developed can be singled out according to
its use within a given context and then developed appropriately. Once these components
are developed for a particular user group, as in the users of CHB, then they are tested for
usability and consistency before the website is put online.
I consider websites a great technology for their intended purpose; providing information,
acquiring profits (e-commerce), or advertisement but CBSD in actual use in my
endeavors anyway can best be seen in developing applications both web based and
desktop stand alone applications from within the implementation of a system.
In other words in my upcoming courses in java, both beginning and advanced, I will be
creating programs of a wide variety using java code. It is this code writing where CBSD
becomes useful as java’s API is rich with pre-built components that I will undoubtedly
become familiar with as I set out on my career as a java developer.
Te’eni D, Carey J, Zhang P. (2007) “Human Computer Interaction” Chapter 14.