You are on page 1of 14

EUCIP Software Developer

Professional Profile Specification

Version 3.0, April 2011

Short Description
A EUCIP Software Developer is expected to play a considerable technical role in information systems design and to be very effective in carrying out the creation and maintenance of complex software modules that typically need to be integrated into a wider information system. Different specialisations are possible, either in the field of applications and web services or in system-level software. This profile requires a minimum work experience of 18 months in a compatible job role; if this requirement is not fulfilled, the candidate might be certified as an Associate Software Developer.

analysis and specification. analysis. and to anticipate any necessary changes to standards in the employing organisation. software and facilities. testing. maintainability and cost effectiveness. efficiency. templates and standards to create advanced. Addresses complex and non-standard situations. and achieving a well engineered product.Tasks Overview Defines detailed specifications and directly contributes to the efficient creation and/or modification of complex software systems using the proper standards and tools. specification. EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 2 of 14 . by participating in investigation. well designed and engineered web pages with specified content and layout. providing expertise in the selection. methods and tools that are relevant to the specific work environment: identifies advantages and disadvantages of each. fully taking into account bandwidth and browser compatibility issues. Maintains familiarity with a substantial range of relevant web sites and participates in significant discussions on developments in web tools and technology. Where there is special focus on web systems. In case of a senior software developer leading a team. security. and maintaining supplier and user documentation. applying fixes. ranging from design. ensuring that version control procedures are observed. maintenance. Uses the knowledge thus gained to advise clients/users of current/future trends. including proposals for improvement and resolution of problems. design. construction. Ensures that the results meet the requirements both in terms of high quality technical design and in terms of conformity with agreed functional specifications. provision and use of architectures. upgrade and migration. Specifies appropriate web server hardware and network connectivity for small and medium sized information systems. Assists less experienced colleagues with difficult coding problems. taking charge of technical responsibility for implementation stages of the life cycle for software development. taking full responsibility for the quality and timeliness of their work and ensuring effective utilisation of all assigned resources. and applies them in an intelligent and effective way in order to achieve well-engineered products which ensure the necessary attributes such as fitness for purpose. Understands the main alternatives in configuring databases and can provide support during installation and upgrade of software servers and application tools. implementation and software maintenance. reliability. safety. Is informed about available standards. Ensures that adequate documentation is produced and maintained. testing. Takes care of technical issues in software implementation projects and in the other stages of the life cycle for software development: investigation. selects appropriate tools. Tests pages and corrects coding errors. construction. manages a group of technical staff. Uses database management systems software and appropriate analysis tools to analyse database performance statistics and create reports on demand. Sets coding standards for the employing organisation.

organise.g. in as much as the ability to plan. Essential Behavioural Skills [ 1 ]1 The Software Developer role requires first of all a rational mental attitude capable of conceptual and analytical thinking. time management. 1 numbers in brackets represent EUCIP points Copyright 2011 ECDL Foundation Page 3 of 14 EUCIP Professional Profile Specification . Prepares and coordinates software module testing. leading to the result through structured solutions formulated in a flexible way. a high regard for detail and a persistent goaloriented approach. Contributes to defining the software modules that comprise an integration build. efficiency in information acquisition. teamworking. and amends programs and system configuration until a fully positive outcome is achieved. make technical decisions. ownership) and produces object database components as required. Another relevant set of skills is the ability to communicate and interact effectively (in both oral and written form) with colleagues and clients: this shall include a general organisational and cross-functional awareness. security. a good teamworking approach. Examples of possible courses include techniques for effective meetings. tests and corrects large and/or complex component modules from specifications.Converts logical specifications into more detailed designs taking account of the technical and non-technical features and limitations of the target implementation environment. Constructs or modifies. consistency. provide directions and follow-up. Interprets object/data models into appropriate DB schema within set constraints (e. ensuring that they meet the defined software test criteria and producing software builds for loading onto target hardware from software source code. identifies defects and causes of failure.

Detailed Skills Required Deep competence level [ 20 ] B3.5 ] Use different programming design methods. Cope with the specific needs of legacy systems in program design. maintenance staff. Associations. Polymorphism and Messaging Concepts. quality assurance and the user). Understand the use of objects and classes. Understand software development life cycle models and their applications. “top down” design. functional. Decide when to use each one of the data structures above and related algorithms. software developer.5 ] Appreciate Object Design approach.5 ] Understand roles of the software engineering process (project manager. B1.01 Programming [ 4. Understand and apply software development estimation techniques Understand and apply principles of software Project Management Understand Risk Management Understand Quality Assurance EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 4 of 14 . and linked lists. Appreciate the use of Implementing and Testing Models in UML. such as ObjectOriented (OO) design. Appreciate Abstraction. Choose between compiled and interpreted programming languages. arrays. Appreciate the benefits of “objects” and subsequent re-use of software. Use different data structures such as records. Use some of the main types of programming languages (different generations. Construct Class Diagrams (UML). Operations and Methods for a Class.07 Object oriented approach to systems development [ 1. OO-based) to compose new algorithms and functions or to modify existing programs.08 Software engineering principles [ 1. Know how to use abstraction as a technique of problem-solving and design. Interpret correctly syntax in programming languages. Use standard notation and conventions for Classes. Assist in identifying UML Classes. procedural. Define Attributes. Encapsulation. Appreciate the differences between persistent and non-persistent Classes. Make use of inheritance and aggregation hierarchies. B1. structured programming. Appreciate the differences between OO design and other programming design methods.

Know how to use standard Database interfaces like ODBC. Mailing List. Manage data manipulation by using stored procedures. Integrate the IDE with a Version Control System. Import and export data: methods include the bulk copy. triggers. Manage result sets by using cursors and SQL: considerations include locking models and appropriate usage. Business Objects. EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 5 of 14 . Customise the build process in an IDE. A6.02 Develop in a collaborative environment [ 1. Acknowledge the importance of an established set of documentation and coding standard. Rational ROSE. and views. triggers. Integrate plug-ins in an IDE. Use messaging tools such as IM.5 ] Use SQL for: o basic „select‟ statements o restricting and sorting data o transforming data through single-row functions o displaying data from multiple tables and views o aggregating data using group functions o extracting complex results through subqueries o data manipulation (DML commands) Produce readable output through interactive SQL. and DENY. Use the “Configuration Manager” (Debug/Build…). Define object-level security including column-level permissions by using GRANT. Select. and Distribution tools. Control and Auditing Understand Configuration Status Accounting Understand and apply Software Estimating Techniques and Metrics B2. Extract data in XML format: considerations include output format and XML schema structure. B1. etc. Technical Documents. Manage Version Control. transactions. discussion boards. and views. JDBC.03 Working with databases [ 1.09 Computer Aided Software Engineering (CASE) and Integrated Development Environment (IDE) tools [ 1 ] Know when and how to use a CASE tool: top issues related to CASE tools adoption. Example: CVS.Understand Configuration Identification. Manage Build and Test. Cope with primary issues related to a team work. userdefined functions. REVOKE. Apply procedures for team work. Facilitate a collaborative environment. Examples: Oracle Developer 2000. Control data access by using stored procedures. Work with the most used IDEs for Windows and Unix platforms. CASE Tools for different platforms/languages. user-defined functions.5 ] Use tools for team work in a collaborative environment.

Example: PERL. recognise the role of programming paradigm and process maturity.Exploit detailed knowledge and troubleshooting hints available through virtual communities of developers. Use a specific OO programming language. according to the Change Control Process. EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 6 of 14 . Support deployment and hand-over. Perform testing/acceptance/deployment procedures: o development of major UI components o development of prototypes to explore any other system uncertainties like response time. Build an acceptance test.5 ] Write documentation: proper formats. Examples: work breakdown structures. Example: Basic. system stress and load. conflict resolution. Python. Conduct acceptance testing. Ruby. Define the principles of Mark-up Languages. etc. know XSLT and how to use it to transform a document. Apply methods and techniques for planning and monitoring progress of projects. Delphi. scalability etc. as well as for embedded systems. etc. employ XML technology in programs and applications. B3.5 ] Write effective source code in a specific procedural programming language. Use Extensible Mark-up Language (XML). Java. Correct course and control changes. use tools and environments for software engineering. use provided tools to execute XML-friendly database queries. Provide application and technical support. Develop formal methods. Pascal. Apply a proper coding process in a development environment aimed at a massively parallel execution. Perform Rapid Prototyping.03 Software development process [ 1. C. real time response systems and very high availability systems. Use a scripting language. tools. B3. Cobol. Identify milestones. critical path analysis. Example: C++. Test functionality. Use commercial tools packages for various types of testing and bug tracking.02 Languages [ 4. internal documentation. etc.

Use report parameters and customise a runtime parameter form. EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 7 of 14 . Identify situations for applying custom components. extensibility.04 Designing and developing distributed and critical applications [ 1. Create high quality web reports. Identify the main components in a report document and how they are related. Manage report templates. and reliability.07 Build reports [ 1 ] Administer server resources.5 ] Choose the right level of transaction support. B3. Install remote components: considerations include attended and unattended installations. Derive the physical design. Plan and design for performance. Create and embed a graph in a report. scalability. Build reports using XML. Use templates to create mailing labels and letters. maintainability. Identify standard report design styles and run existing reports to various output destinations. Troubleshoot failed installations. Windows Management Instrumentation (WMI). Monitor and optimise performance: tools include performance counters. Create other report styles such as break reports and matrix reports.B3. Publish a report on the web. Tune reports. availability. Considerations include: o number of transactions per time increment o bandwidth o capacity o peak versus average usage requirements o response-time expectations o barriers to performance o processes per server o parallel execution o maintenance expectations o location and knowledge level of maintenance staff o impact of third-party maintenance agreements o hours of operation o level of availability o impact of downtime o growth of the partners o growth of the company o volume of documents Design integration with existing applications. Event Viewer. Add dynamic data to an HTML page. Create and modify basic tabular reports. Diagnose and resolve implementation errors.

like iOS. Know the functions of operating systems for mobile devices. Define secure software deployment procedures. scalability. availability. Understand fundamentals of static analysis of source code. Distrust all values external to the program (e. Design the security infrastructure. link statically. Cope with main security issues related to code and data structures. o EJB and RMI. o RPC and DCOM security. performance. C2.Incisive competence level [ 11 ] B3. arguments. environment variables. o Buffer overflow concept. extensibility. EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 8 of 14 .g.01 Operating Systems [ 2 ] Differentiate between the most widespread operating systems: o Linux/Unix o Windows o MacOS Install and upgrade at least one of the above OS and/or other OS like zOS. o Least privilege concept. Avoid creation of temporary files in world-writable directories (e. Android. Minimise. isolate and simplify code running with raised privileges. Web Server. Avoid use of any function that copies without checking buffer lengths. Recognise race conditions. and be able to configure them. etc. and reliability. o Java applet and ActiveX control security. Monitor performance counters and event logs.06 Secure programming [ 1 ] Understand and apply the principles of secure coding: o Appropriate access control. Windows Mobile.g. Define security code review processes.). deadlock and starvation o scheduling o I/O operation and management o file management systems o user and access management Install middleware programs like OLTP. maintainability. Avoid link with dynamic libraries. Analyse network capabilities. o Validation and control of input data. /tmp). Application Server. o Understand secure programming issues: o Socket security. Cope with OS conceptual problems: o concurrency management. Design the deployment architecture: considerations include security. Configure network interfaces.

Write a clear specification document. Transform requirements into functional specifications: considerations include performance. Analyse the feasibility of the solution. deployability.and multi-processor) o network o memory and virtual memory o storage o processes and threads o usage of shared resources Tune the system to reach required performances. Publish resources on the network (e. Transform functional specifications into technical specifications: considerations include performance. A3. Validate the proposed logical design. software. extensibility. extensibility. Apply interoperability tips (file formats.). Use performance boosting techniques as clustering.12 Defining a solution architecture [ 1 ] Gather and analyse: o user requirements. o operational requirements. Validate the conceptual design Create the logical design for the solution. o system requirements for hardware. Start and stop various network services. Create a conceptual model of business requirements or data requirements: methods include Object Role Modelling (ORM) and UML. Perform troubleshooting. and accessibility. scalability. shared printers and folders). POP. Contribute to gathering and analysing business requirements. and network infrastructure. Setup clustering.Configure various network protocols and services (including http. Manage user accounts and groups and set up related security policies. availability. available protocols. security. IMAP. DNS).g. Understand and work within a standard enterprise achitecture framework like TOGAF. maintainability. SMTP.03 Solution envisaging [ 1 ] Envisage and develop a solution concept. Set up systems to reach the required level of interoperability between heterogeneous OSs. Create the logical data model. EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 9 of 14 . availability. maintainability. etc. and accessibility. B1. deployability. Measure and monitor system load: o CPU (both mono. Perform system recovery. Analyse and refine the scope of the solution project. scalability. Identify key project risks. security.

twotier. o deployment. Evaluate Web Services based development using technologies like the SOAP protocol. Appreciate how the system design approach in the OO paradigm differs from other approaches. Application Server. and testing. creating builds. Report actual progress of activities against an agreed plan. Appreciate UML Design and Architecture Modelling. o maintenance.g. code review. Sequence and Collaboration diagrams).06 Object oriented approach to systems analysis [ 1 ] Act as an effective member of a team involved in analysis using an OO approach. Online Transaction Processing. quality assurance. Web Server. Create specifications for auditing and logging. reviewing code. managing source code. software platforms (PaaS) or applications (SaaS). Know the most well known middleware products like DBMS. UI. Evaluate the benefits of the OO approach to analysis (business and systems). Select the appropriate middleware product configuration. metrics. Select the appropriate technologies for the physical design of the solution. tracking issues. three-tier. Create Use Cases in requirements gathering. Establish processes: processes include reviewing development documentation. web-based architecture. A5. Contribute to establishing quality and performance metrics to evaluate project control and organisational performance. Appreciate UML Dynamic Modelling techniques (e. Evaluate the advantages. B1. STDs.Select the appropriate paradigm for a solution like centralized. and establishing maintenance tasks. configuration management. coding.03 Project coordination [ 1 ] Coordinate a software development project: planning. Contribute to Activity Modelling (in UML). managing change. Create the physical design for: o the solution. o the data model. Use UML Analysis models. Appreciate the use of the OO Model types in UML. organisation. Perform Business domain modelling (in UML). EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 10 of 14 . managing release. Establish standards applying to development documentation. Validate the physical design. version control. Use the main OO analysis modelling types and show how they relate to each other. disadvantages of using Cloud Computing solutions for infrastructure (IaaS). control.

EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 11 of 14 . Develop an application made of Business Components. object-based logical model. ERWin. B2. and UNIQUE constraints. file placement. Extend and Substitute Business Components.02 Designing and implementing databases [ 1 ] Choose among different types of database architecture (e. object-oriented) suitable to application requirements. Implement Business Rules. indexes. conceptual level and view level. Define entities: considerations include entity composition and normalisation. Create and manage Database Objects. Analyse security requirements. Refer to Best Practices. the object-oriented model. Exploit data abstraction: physical level. and development environments from the business view. and nullability. and views. relational. Apply the principles of object-based logical models: i. Create and alter databases: considerations include file groups. tables. growth strategy. Package Business Services and Data Models. Perform system tuning for performance.g. matrix. Analyse integration requirements.04 Designing and implementing business solutions with transactional support [ 1 ] Analyse architecture requirements. B2. hierarchical. Analyse functional requirements. Examples: Oracle Designer 2000. Create JSP Clients for a Business Components Application. data types. Define object-level security including column-level permission by using GRANT. REVOKE. and space requirements.e. the entityrelationship model. stored procedures. Design attribute domain integrity: considerations include CHECK constraints. Be aware of the characteristics and functions of Online Transaction Processing Systems. Create custom and dynamic queries. Troubleshoot failed object creation. PRIMARY KEY constraints. user-defined functions. Handle Exceptions and Errors. Implement a physical database. and DENY Alter database objects to support replication and partitioned views. record-based logical model and physical data model. Create and alter database objects: objects include constraints.Evaluate OO lifecycles. Present business data. Handle Business Component Transactions. Deploy Business Component Applications. Know how to use database design tools. triggers. Leverage middle-tier validation. Design entity keys: considerations include FOREIGN KEY constraints.

Choose appropriate data sources for data blocks. Be able to: o Master servlets and JSPs. o Build web-based applications using ASP or VBA in a . Create form modules. o Build web-based applications using Java servlets and Java Server Pages (JSP). OR: o Master COM/COM+/.02 Designing and developing web applications [ 1 ] Choose platforms that support each programming language and environment.B4. Ensure application security. Know the concepts and use of the servlet API.NET and ASP. which are the most popular components of the J2EE standard and critical elements used by companies building e-commerce sites. Create and manage multiple-form Internet applications. EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 12 of 14 . including components for database interaction and GUI controls.03 Build internet applications [ 1 ] Be aware of the features of Software as a Service (SaaS) solutions. Handle the notion of stateless connection and use of sessions. plus the productive development of applications through Java Server Pages. OR: o Master other integrated development environments. Know the concepts and use of web services.NET environment. Reuse objects and code. B4. like Python.

and social partners across Europe. performance. Ensures that functions and features are documented in an appropriate way. optimising the balance between cost and quality.Annex: External references to Frameworks and Schemes European e-Competence Framework (e-CF) version 2. components or applications to establish compliance with relevant documentation requirements. ” SFIA© version 4G by the SFIA Foundation The Skills Framework for the Information Age (SFIA) provides a common reference model for the identification of the skills needed to develop effective Information Systems (IS) making use of Information Communications Technologies (ICT). including health and safety. Ensures that new or revised components or systems perform to expectation.3: Testing “Constructs and executes systematic test procedures for IT systems or customer usability requirements to establish compliance with design specifications. educational. Identifies a common reference framework to validate the models with representative users.” B. Accurately estimates development. Follows a systematic methodology to analyse and build the required components and interfaces. It is a simple and logical two-dimensional framework consisting of areas of work on one axis and levels of responsibility on the other. Performs unit and system testing to ensure requirements are met. Creates templates for documentmanagement systems. One of the strategic objectives of EUCIP is to provide a detailed competence scheme that sits under and references the competences set out in the e-CF in order to provide a range of certifications and services to IT professionals and industry in Europe.1: Design and Development “Designs and engineers software and/ or hardware components to meet required specifications. Selects appropriate style and media for presentation materials.6: Application Design “Defines the most suitable ICT solutions in accordance with ICT policy and user/ customer needs. EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 13 of 14 .5: Documentation Production “Produces documents describing products. the public sector.” B. Ensures that existing documents are valid and up to date. usability. services. reliability or compatibility.0 by CEN This is a reference framework of 36 ICT competences that can be used and understood by ICT user and supply companies. Produces documents and reports to evidence certification requirements. Ensures meeting of internal.” B. A. external. Selects appropriate technical options for solution design. installation and maintenance of application costs. including energy efficiency issues. national and international standards.

conforming to corporate standards. des normes et des procédures.” Skill 41: Programming/software development “The design.3: Software Developer (Softwareentwickler/in) “Software Developer konzipieren und implementieren einzelne Software-Bausteine [Komponenten und Module]. retaining compatibility with enterprise and solution architectures.Développeur “À la demande de la maîtrise d’œuvre. paramètre et code les composants logiciels applicatifs dans le respect des évolutions souhaitées. et sur la base des spécifications fonctionnelles émises par celle-ci. AITTS by the German Government – Arbeitsprozessorientierten Weiterbildung in der IT-Branche Profil 1.” Nomenclature 2010 by CIGREF (club informatique des grandes entreprises françaises) Métier 3.” EUCIP Professional Profile Specification Copyright 2011 ECDL Foundation Page 14 of 14 . creation. within constraints of cost. testing and documenting of new and amended programs from supplied specifications in accordance with agreed standards. sia in termini di progettazione tecnica di alta qualità che in termini di conformità con le specifiche funzionali concordate. security and sustainability. le concepteur-développeur analyse. Garantisce che i risultati rispondano ai requisiti.Skill 38: Systems design “The specification and design of information systems and the design or selection of components to meet defined business needs.” Italian “Borsa Lavoro” scheme Denominazione Figura Professionale Finalità Analista programmatore (sviluppatore software) Definisce specifiche tecniche dettagliate e contribuisce in modo diretto alla creazione e/o modifica efficace di sistemi software complessi mediante l'utilizzo di appositi standard e strumenti.2: Concepteur .