• Keine Ergebnisse gefunden

Chapter 1 Introduction

1.2 Summary of Research

1.2.1 The Problem

Software developers use a variety of algorithms in building various applications to solve problems such as: operation systems, applications development, multi-users database, the Internet, games, modeling, sciences, mathematics, economics, biology, chemistry, equations, atom-molecules, flood simulation, earthquake simulation, earth formation, universe formation, etc. These wide spectrums of software applications that employ algorithms are mostly available on the market, but some are not for sales but rather serve as prototype or restricted for in-house use purposes.

Several product/process development and recycling-related software applications are available in the market e.g., “Umberto” is used for material flow analysis, cost accounting, and environment impacts assessment; “DFMA” is used for product manufacture and assembly analysis and concurrent costing. Both software, have their own strengths and specific functions on product or project modeling; however they cannot be used interchangeably because their core abilities are not the same. In short, individual software contains strengths in the area for which it is designed, at the same time contains weaknesses and limitations in other areas.

Taking “Word2” and “Excel3” as examples, Word is mainly used for composing documents/reports, but in working with spreadsheets for statistics – Excel is more practical. It would not be convenienced at all, to use Excel for composing a dissertation.

A combined use of softwares can fulfil, offset limitations, and decouple the subjective goals. In producing a complex and long document (e.g., dissertation) with tables, figures, common tools such as “Word,” “Macros Add-in,” “Excel,” “PowerPoint4,” “Drawing,”

and “Screen Capture” are usually needed to supplement one another. In programming a new software that deal with database management and reporting, basically, “Visual

2 Word: a software for word processing by Microsoft Corporation.

3 Excel: a software for spreadsheet by Microsoft Corporation.

4 PowerPoint: a software for presentation by Microsoft Corporation.

Basic5,” “Access6,” and “Crystal Reports7” are needed in combination. There are a lot more combinational choices depending upon individual preference.

This dissertation is focusing on developing a software for the determination of the recycling-orientation of products at design stage. There are few softwares (expertise in this area), already available in the market. This research will resolve problematic issues associated with the existing softwares. These problems are listed as the following:

1. Missing a particular function (which users are specifically needed) 2. Fixed database (users cannot make any change)

3. Complex algorithms (not user-friendly) 4. Design for high-end (advanced users only)

5. Results are difficult to interpret (no basic knowledge/training) 6. Pricey (unaffordable to students)

Common users pay much attention on price first apart from other softwares attributes e.g., functions, database. In general, commercial recycling-related and product development software, “professional version” is unaffordable for non-professional or beginners. This is because recycling-related and product development software are relatively new (new invention usually expensive), expensive database. They provide special functions and in-depth analysis with large database serving for projects raging from basic-to-highly-sophisticate. Software “education version”, the price is still a way more expensive for students to afford. Whereby a free “trial version” usually does not delivers full functions/abilities, or it expires in a couple of days after it is downloaded/installed. Large enterprises, organizations, institutes, companies, and industries are the real target customers of big software companies, because they have a buying-power, and have real demand.

5 Visual Basic: a software for programming by Microsoft Corporation.

6 Access: a software for database management by Microsoft Corporation.

7 Crystal reports: a software for report making, a third party package that is included with Visual Basic.

1.2.2 The Solution

My solution to the previous problems takes a radically different approach than current algorithms. Instead of striving to encapsulate many different features in a monolithic manner, I propose a lightweight algorithm architecture that enables users to pick and choose the features they need. I call this architecture as a “Recycling-Oriented Assessment Tool,” or ReOAT. ReOAT provides a new algorithm architecture that solve problem of traditional algorithm architectures through a combination of ideas from object systems, adaptive software models, and composition of software demands. This yields an alternative that can be integrated into object-oriented applications, tailored to specific applications and grew to accommodate new features. Adopting an object-oriented architectural style requires looking at the big picture through the object lens. ReOAT fully embraces object-orientation; one of the key characteristics of ReOAT is that it applies techniques typical of object systems to solve product assessment and management problems. It reduces the impedance mismatch between the provider of algorithm functionality and application objectives. Software users can use, customize, and present results by means of reports.

1.2.3 The Method

Engineering disciplines hide behind the large bodies of theory accumulated over long periods of time e.g., civil engineers plan, design, and supervise the construction of facilities such as high-rise buildings, airports, water treatment centers, industrial manufacturing and processing facilities, sanitation plants, meeting the challenges of pollution, traffic congestion, drinking water and energy needs, urban redevelopment and community planning. The origins of civil engineering date back to ancient Egypt – plan to build, and the use of mathematics to achieve a desired result instead of building haphazardly. But software engineering has a much shorter history than most engineering

fields. It is an exceptionally fast-moving field, where knowledge is subject to rapid obsolescence and ideas progress swiftly from research to practice. As a result, software engineers do not “calculate” software designs; instead they follow guidelines and good examples of working designs and architectures that help to make successful decisions, the

“state-of-the-art” (Nanoescu, 1997). Therefore, in the context of software engineering, communicating experience, insight, and providing good examples are important tasks.

There are several weaknesses with traditional structured programming where data is stored separately from procedural code. Any code that is written as structured code is not modular. It is possible for data to be modified without the developer’s knowledge because data elements can be accessed from any code. It results in runtime errors that are very difficult to debug. Object Oriented Programming (OOP) solves these problems. It packages data, into a single unit called an object. An object’s data can be hidden to prevent unauthorized modification; the object surfaces a set of public methods to operate on this data, as a so-called “encapsulation.” As implementation details are separated from the interface, the underlying programming logic can be changed at a later time without breaking code (that calls the object). Developers can reuse code and data together through OOP inheritance; by inheriting from predefined objects, the rapid construction of complex applications can be made (Developer Fusion, 2003).

My research provides a new way of building and implementing object-oriented systems and applications. I choose design decisions and components that are compatible to built-in objects as well as new objects corresponding to build the chosen architecture.

Building the new architecture involves (1) Translating the abstractions into a programming language; (2) Building components that provide advanced features, as well as (3) Implementing with different requirements. Since writing new code always has the potential for incorporating bugs, reusing tested code minimizes the chances of additional bugs. Architecture is not the end product; rather it provides a holistic view. The following basic structures (objects) have been linked to the architecture:

1. Visual Basic, Object-Oriented Programming (OOP)

2. Dynamic Data Exchange (DDE), techniques for communicating with other windows programs

3. Object Linking and Embedding (OLE), a compound document is something like a display desktop that can contain visual and information objects of all kinds

4. ActiveX Controls, by actions of mouse/keyboard – event/display change 5. Database, as references and basis for calculation

Database has been collected and elaborated (both primary and secondary data quality);

they are valid and up-to-date, which come from various sources such as:

• Test-data (primary data), from laboratory tests: tools, joint types, disassembly time

• Material-data (secondary data), from research and literature reviews: type of materials, hazardous materials

• Cost-data (secondary data), from recycling-related business, personal contacts, research and literature reviews: recycling cost, disposal cost, disassembly cost

• Control-data (secondary data), from European Unions, international levels: certain directives/laws/standards/regulations (banned of hazardous materials, recycling related, % target goals)

• Custom-data (new data), add into the software by users (products profiles, projects information)

This design architecture was constructed by taking ability to be customized & flexibility as chief considerations (further development, modifying and upgrading are possible); it now can be seen as a new tool. In summary, the tool consists of inputs (product profiles, database) and mechanism characteristics (data transfers between objects), which will be interpreted and used by control algorithms (assigned mathematical prescriptions), that yields outputs (product performance, recycling-orientation of product design, reports) (see Figure 1-6). The ideal solution tool has been brought into life.

Figure 1-6: Solution tool.