c r e s s - codecogs · what is software reuse? software reuse is the recycling of previously...

8
C R E S S C O D E R E U S E A member of Zyba LT D Realise the true power of your source code... Reduce total development effort through effective software resuse.

Upload: others

Post on 12-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: C R E S S - CodeCogs · What Is Software Reuse? Software reuse is the recycling of previously written computer code to accelerate the development of new software. In an ad-hocfashion,

C R E S SC O D E R E U S E

A m e m b e r o f Z y b a LT D

Realise the true power of your source code... Reduce total development effort through effective software resuse.

Page 2: C R E S S - CodeCogs · What Is Software Reuse? Software reuse is the recycling of previously written computer code to accelerate the development of new software. In an ad-hocfashion,

Develop Better Products, Faster and More Efficientlywith CRESS (Code REuse and Sharing System).

Realise the true power of your source code…

Reduce total development effort through effective software reuse.

sales @ zyba.com +44 (0)845 123 5899 www.zyba.com

How CRESS makes reuse a success:

• Spans projects, teams and departments to create asingle browsable library of atomic, well documentedsource code modules.

• Constantly growing to reflect the core intellectualknowledge that drives your company.

• Fully integrated documentation wizard to helpdevelopers quickly submit useful, reusable, source code.

• Fully web-based, for easy access from anywhere andany computing platform.

• Search, Browse and Read about modules easily.Instantly copy-&-paste the code you need.

• Provide peer review on any component through anintegrated discussion forum.

• Smart download system, supplies only the modulesyou need.

Benefits Of Software Reuse

Improved productivityWriting less of a system from scratch obviouslyrequires fewer resources. Through improvedproductivity, you can also market your productsfaster.

Better cost estimationYou can more easily predict the cost of a newsystem that is built from existing components.

Better time estimates You can more accurately estimate the technicalresources needed to build a system from existingcomponents.

Improved reliabilityA system built from reusable parts, which havebeen rigorously tested and verified in previousprojects, will be more reliable.

What Is Software Reuse?

Software reuse is the recycling of previously writtencomputer code to accelerate the development of newsoftware. In an ad-hoc fashion, developers share codebetween projects all the time. However, through aproactive policy of capturing and managing reusablesource code, you can rapidly increase the productivityof developers, reduce bugs, and more accuratelyestimate your project time/resource requirements.

C R E S SC O D E R E U S EA member of Zyba LT D

Page 3: C R E S S - CodeCogs · What Is Software Reuse? Software reuse is the recycling of previously written computer code to accelerate the development of new software. In an ad-hocfashion,

The CRESS Solution

In a competitive business environment time-to-market is crucial. It is therefore essential to make use of existingsoftware to reduce development effort and cycle time. Zyba Ltd. is a specialist in the creation and management ofreusable software. Through our brand CodeCogs.com, we distribute a wide range of high quality numericalcomponents spanning Mathematics, Engineering, Science and Finance. Powering CodeCogs.com is CRESS, ourCode REuse Sharing System. CRESS is a web-based library into which software modules can be deposited,retrieved and discussed quickly and easily. CRESS can be installed within your organisation to help you efficientlyleverage the intellectual knowledge from your existing code.

With CRESS, you can:

Quickly produce high quality documentation for code and capture your company’s core intellectual knowledgein a reusable and consistent form. This documentation can incorporate LaTeX (for equations) and other graphs orfigures (in .png, .gif, .jpg), enabling you to accurately describe your modules.

sales @ zyba.com +44 (0)845 123 5899 www.zyba.com

C R E S SC O D E R E U S EA member of Zyba LT D

Page 4: C R E S S - CodeCogs · What Is Software Reuse? Software reuse is the recycling of previously written computer code to accelerate the development of new software. In an ad-hocfashion,

Search and browse using any one of four approaches, helping you to quickly locatemodules and their related documentation. Use a keyword search; browse a collapsibletree; browse a linear index, or navigate through linked content pages arranged bycategory. All documentation and code also contains hyperlinks to any other related

material.

Download using an intelligent system that retrieves only those files that are essential forthe solution you need. Code that isn’t going to be used isn’t downloaded. Retrieve codethe way you need it: view it directly on the web page and use cut-&-paste; download asingle file with all the modules concatenated together; or a zipped bundle of all thenecessary modules, retaining directory paths.

Integrated discussion and comment system that allows you to instantly add yourthoughts to any module. These comments appear at the bottom of each page and areviewable by all users. This is a great place to report bugs, discuss deployment issues,and pass on module specific tips and tricks.

Post problems to the site. Each request is circulated to other developers who have expressed an interest in aparticular field. Through this system it is possible to view all requests and submit solutions to those you can solve.

Quickly submit updates to modules. All changes within the source code are archived within the inbuilt versioncontrol software, so that nothing is lost. If the company operates a Quality Assurance (QA) policy, then a memberof the QA team, or the original author, will be automatically informed. This allows them to choose if / when a moduleis published and ensures the quality of the complete library.

Stay informed with automatic email notification in response to any changes that interest/affect you. The systemwill automatically notify you of any published updates to any modules you have downloaded in the past. Throughthis approach, you can quickly download the latest alterations, ensuring your own projects use the most up to dateand stable components.

sales @ zyba.com +44 (0)845 123 5899 www.zyba.com

C R E S SC O D E R E U S EA member of Zyba LT D

Page 5: C R E S S - CodeCogs · What Is Software Reuse? Software reuse is the recycling of previously written computer code to accelerate the development of new software. In an ad-hocfashion,

Administrative Control

Re-engineer and import your existing legacy code with minimal effort. The import tools will help you map yourexisting library, including renaming and categorising your functions. Custom scripts can be produced so that,regardless of the style of your existing documentation, information can be easily imported.

Any code on the system can be re-categorised and renamed at any time. This will immediately cause allfunctions that reference the affected module to be updated.

The system can be configured to operate in a managed or unmanaged state. In the managed mode, each codesubmission must be approved by a manager (or member of a QA team) before it becomes visible to others users.In unmanaged mode all submissions are immediately available to others.

Each module can be given a series of ratings, helping users understand the quality of the software. Theassignment of a rating can occur automatically in response to either a specific number of downloads, or by votesfrom other users. Alternatively, a manager can attribute a ‘star’ rating to a piece of code based on their ownjudgement.

To better understand the usage of each module managers can track which modules are used by which projectsand by which users. This information is important for helping to optimise software and to help focus a company’sefforts when improving those modules that are used most frequently.

A customisable range of key usage statistics can be collected automatically. This includes the number of visitsto each page, the number of downloads, the most active developers, users who are responding to the mostrequests etc.

Dangers of not reusing software?

Failing to invest in technology and education can greatly hamper a company’sability to compete effectively, particularly when time-to-market is crucial tosuccess. It can also cause companies to become dangerously out of touch withcontemporary software practice, where an increasing number of companies arein fact succeeding with systematic reuse.... Many of the large companies thatsuffered the most during the economic downturn of 2001, where also companiesthat most strongly resisted adopting systematic reuse....

Douglas C. Schmidt, University of California

’’

sales @ zyba.com +44 (0)845 123 5899 www.zyba.com

C R E S SC O D E R E U S EA member of Zyba LT D

Page 6: C R E S S - CodeCogs · What Is Software Reuse? Software reuse is the recycling of previously written computer code to accelerate the development of new software. In an ad-hocfashion,

Explore and Chart your existing module library• Generate an overview diagram of your code library.• Instantly spot dependencies.• Identify key performance bottlenecks so they can be

optimised.• Identify replicated code.• Organise your legacy code into functional groups.• Import your legacy code into the CRESS system.

Add and Upgrade modules • Quickly add code to the system.• All code is automatically related to other components within

the database. • To aid inclusion into packages code is saved in multiple

formats (html & backend file-system).• Update existing code or documentation

• Version control keeps track of changes from differentauthors.

• Update Notification automatically emailed to all userswho have elected it and/or have downloaded the code.

• Peer review by original author or manager.• Insert code from leading languages:

• C/C++• Java• Objective C• IDL (Corba and Microsoft flavours)• PHP• C#

Easily integrate high quality documentation• Interactive interface makes creating consistent and quality

documentation easy.• Preview LaTeX equations, helping you to check

grammar and arrangement.• Drag and Drop graphs into documentation.• Quickly define attributes and their return value.• Immediately preview the final documentation page.

• Documentation is embedded into the source code.Advanced users can manually document their code for quicksubmission.

Quickly browse and read about modules over a WebInterface• Browse the library through a categorised tree or linear index.• Browse a condensed (custom) list of the modules you most

frequently visit. • (Optional) Enforce 1-1 relationship between Categories and

C++ Namespaces (in Java or C++).• Search the entire library through the CRESS integrated

search engine. • Instantly view the code.

Collaborate and Discuss Module development• Integrated discussion forum on each module page. • Authors of the code are automatically kept informed of any

comments that are received.• Make requests for modules you can’t find.

• Automatically email appropriate members of theorganisation according their preferences, interests andspecialisations.

• Discuss requests via the integrated forum• Submit solutions to other users requests/problems.• Discuss general development issues on the central forum. • View all comments/requests from one central location,

allowing users to stay in touch with what others are workingon.

Download only the modules you need• Only download what you need, when you need it. CRESS

will track dependencies and only give you the essential codeyou need.

• Download C++ code as alternative forms: either .h(definitions + core) files for quick integration, or separated.cpp (core) and .h (definitions) files for more rapidcompilations.

• View or Download code as plain text or zipped archive withfull directory paths.

Add-On Options• Connect to CodeCogs.com

• Integrate searches with CodeCogs.com so requests arepublished worldwide.

• Full product support from skilled technicians.• Download C++ functions as Excel add-ins.

Other Services• Training seminars for end users, managers and system

administrators.• Import legacy code. Onsite analysis of existing code, to

determine the time it would take to port current code intoCRESS. Typically expect to port at least 80% of existinglibraries.

• Automatically populate your CRESS system with commerciallicences from CodeCogs.com. This ensures your copy ofCRESS is instantly usable by your existing developers.

Flexible Hosting and Support Options• Zyba Ltd. can provide managed hosting of your library with

full security and nightly backups if requested. • Alternatively we can also install the system onto your local

servers.

CRESS Functional Specification

sales @ zyba.com +44 (0)845 123 5899 www.zyba.com

C R E S SC O D E R E U S EA member of Zyba LT D

Page 7: C R E S S - CodeCogs · What Is Software Reuse? Software reuse is the recycling of previously written computer code to accelerate the development of new software. In an ad-hocfashion,

CRESS SourceForge

Web based (HTML)

Document ManagementIntegrated with components, stored

with source codeDocManager

Documentation Wizard for quick submission

Embed graphs and equations

Hyperlinked documentation for rapid surfing

StatisticsViewings, Downloads, Most active

contributor, Net trafficProject activity, Net traffic,

comparative stats

Source Code RepositoryComplete submission history. Linkable

to CVS and ClearCaseCVS (server and web interface)

Mailing List Mailman

General Forum

Page Specific Local Forums

User Survey

Request Assitance

Activity History

Web server-side scripts PHP PHP

Database MySQL MySQL

Backend Shell

Export All dataCVS nightly, tarball, Trackers,

Project Summary, Project News,

Uploading

HTTP forums to submit any newmodule through documentation wizard.

Backend submission to server usingSFTP or FTP for batch inclusion of new

coded

SCP, SFTP, FTP to incomingdirectory. Movement of file via web

management

Security SSH, SSL SSH, SSL

Backup Manual Explicit backup policy

Webmail

Public and Private Access

Search Pages and People keywords only

Graphical Component Tree

Front Page InformationMost recent updates, Top downloads,

Recent module commentsMost Active Project, Top Download

Classifications Category Topics

Latest News

Rate Components and Users

Feature Comparison

sales @ zyba.com +44 (0)845 123 5899 www.zyba.com

CRESS has been designed and constructed to improve code reuse throughout an organisation. There is no othersimilar product available. Existing project management systems share many common features, but are focused onthe collaboration of a development team behind distinct projects. CRESS on the other hand is not project specific,and spans not only projects, but teams, departments, offices and even countries. The following table comparesCRESS with its nearest competitor, SourceForge - the world largest project management system.

C R E S SC O D E R E U S EA member of Zyba LT D

Page 8: C R E S S - CodeCogs · What Is Software Reuse? Software reuse is the recycling of previously written computer code to accelerate the development of new software. In an ad-hocfashion,

Who has benefited from code reuse?

CelsiusTech, a Swedish naval defence contractor, created a product line of naval command andcontrol systems. Each successive system took less time to produce, as more of the commonfunctionality was developed and reused. On the latest systems, 70-80% of the common assets werereused without modification, dramatically reducing production time required.

Fujitsu's software development for Electronic Switching Systems (ESS) began delivering 70% of itsESSs on schedule (as opposed to only 20% before adopting reuse principles).

Through Reuse, The US Navy experienced a 26% reduction in required labour hours to develop andmaintain its Restructured Naval Tactical Data Systems (RNTDS).

Through reuse, The US Army estimates a cost avoidance of $479.9 million for its Tactical Commandand Control system, allowing additional mission requirements to be addressed during a period offunding shortfalls.

Raytheon, a US defence systems company aspiring to be “the most admired defence and aerospacesystems supplier through world-class people and technology”, saw a 50% increase in productivity inits Missile Systems Division through the reuse of code.

Through reuse, Magnavox developed the Force Fusion System Prototype (FFSP) in 20% of theprojected, estimated time for a totally new system development.

Contact Us

For Further Information and a Free Quote, please contact Zyba Ltd.:

+44 (0)845 123 5899sales @ zyba.com

or visit www.zyba.com

Zyba Ltd., Broadwood, Holford, Bridgwater, Somerset, TA5 1DU, UK.

sales @ zyba.com +44 (0)845 123 5899 www.zyba.com

C R E S SC O D E R E U S EA member of Zyba LT D