Search Results for

    Show / Hide Table of Contents

    Analysis and design

    About this section

    The purpose of PC SDK is to provide operator interfaces that fulfill specific customer needs. This section focusses on the development phases preceding the actual coding: analysis and design.

    Object oriented software development

    .NET is entirely object-oriented. Platform services are divided into different namespaces such as, System.Collections, System.Data, System.IO, System.Security and so on. Each namespace contains a set of related classes that allow access to platform services. PC SDK, too, is completely object oriented. Its class libraries are organized in different namespaces such as ABB.Robotics.Controllers.RapidDomain,ABB.Robotics.Controllers.MotionDomain and so on.

    You need to have some experience in object orientation to start developing custom applications. It is presumed that you feel comfortable with concepts such as objects, classes, methods, inheritance, encapsulation and so on.

    Object oriented Analysis and Design

    Object-oriented Analysis and Design, OOAD, is a popular topic in computer science literature, where the importance of doing a thorough analysis and design before starting coding is commonly accepted. A well designed object-oriented application has a true representation in the real world. Classes have well defined areas of responsibility and collaborate efficiently to achieve what is required.

    Analysis based on communication and use cases

    The main idea of PC SDK is, as has already been pointed out, that custom operator interfaces can be developed close to end-users, taking their specific needs in consideration. It therefore goes without saying that analysis is crucial.

    The result of the object-oriented analysis is a description of what we want to build, often expressed as a conceptual model. Any other documentation that is needed to describe what we want to build, for example pictures of the User Interface, is also part of analysis.

    The most important aspect for PC SDK development is communication with end-users. Activities which support a shared view of what should be developed are strongly recommended. Such activities may include:

    • creating and discussing use cases together

    • coding or drawing prototypes and getting end-user feedback

    In short, involving end-users from the early stages and keeping them involved throughout the development project is the best strategy.

    Note

    Customer satisfaction is what has driven the development of PC SDK. Do make sure that you have really understood what the end-users of your application need.

    Design is about managing complexity

    The result of the object-oriented design details how the system can be built, using objects. Abstraction is used to break complex problems into manageable chunks. It makes it possible to comprehend the problem as a whole or to study parts of it at lower levels of abstraction.

    It takes years to become a skilled object oriented designer. Design theory must be transformed into practical experience and iterated over and over again.

    The goal is to produce high quality code, which is cost-efficient and easy to maintain. Once you achieve this goal, for example, adding a new functionality will involve minimal changes to the bexisting code and most changes will be handled as new methods and new classes.

    Do you need to do design?

    There is a huge difference in complexity when creating software such as .NET framework, for example, and a custom operator view for IRC5 or OmniCore. Obviously, the more complex a system the more careful design is needed. Accordingly, the larger and more complex a custom application needs to be, the more likely you are to spend time on design.

    This table presents some considerations before deciding how well you need to design your application before starting coding:

    Consideration Advice
    How much code is it going to be? If it is going to be a very simple application with just one view and a few buttons there is no need even to split the code between different classes and files.If there will be a substantial amount of code and there might be further extensions later on, spending time on design becomes more relevant.
    Will different developers work on different classes/components? Will you maintain the code yourself, or may it be done by others? If yes, spending time on design becomes more relevant.
    Is the real time aspect of the application important? If yes, coding efficiently is important. This will much more easily be achieved if you spend some time on design.

    As complex or as easy as you wish

    A simple custom application can be created in a day or two using PC SDK. A large custom application with a number of different views, offering advanced robot system functionality, however, may take months to develop and will require considerable programming skill. The recommendation is to start developing a simple application, which you execute on the target platform, before moving on to advanced PC SDK programming.

    In This Article
    Back to top Copyright © 2025 ABB