IT-enabled process change

  • Development, analyses and deployment of information systems

Enterprise modeling has its roots in systems modeling and especially information systems modelling. The approach is vital to develop, analyse and deploy information systems that fits today’s user-driven world with massive amounts of exchanged information. The first methods dealing with Enterprise modeling emerged in the 1970s. They were the entity-relationship approach of Peter Chen (1976) and SADT of Douglas T. Ross (1977). These first methods have been followed by numerous methods for software engineering. Enterprise modeling contributes with the conceptualisation, implementation, and use of machine processable languages to facilitate the interaction with complex business and technological scenarios, engage in knowledge management and support organisational engineering. In addition, the development of reference models for selected domains, the design of generic models for enterprise architecture management, and the development of modeling tools are investigated. There are several techniques for EM  such as Active Knowledge Modeling, Open Distributed Processing (EMM/ODP),  Process Modeling using for example BPMN, CIMOSA, DYA, IDEF3, PERA and modelling the enterprise with multi-agent systems. Within Object-orientation examples are Object-oriented analysis (OOA) and Object-modelling technique (OMT). Enterprise modeling techniques are also developed into Enterprise Architecture framework such as ARISDoDAF, OBASHIRM-ODP, TOGAF and the Zachman Framework and metamodelling frameworks such as GERAM.

Lean means creating more value for customers with fewer resources. A lean enterprise understands customer value and focuses its key processes to continuously increase it. The ultimate goal of Lean is to provide perfect value to the customer through a perfect value creation process that has zero waste. Lean thinking and Lean practice has spread across almost every sector of activity, from retailing and distribution, discrete and process manufacturing, service and repair, financial services and administration, construction, software development and IT, healthcare and service delivery in governments. Businesses in the Aalesund region are among the many who have adopted lean production to avoid waste. It is a matter of layout, infrastructure and flow.

Agile software development is software development methods using iterative and incremental development practices. Typically requirements and solutions evolve through collaboration between cross-functional, self-organizing teams (From Wikipedia, the free encyclopedia).

Requirements engineering: While functional requirements specify what the system should do, non-functional requirements specify all the remaining requirements not covered by the functional  requirements, i.g. they specify criteria that judge the operation of a system, rather than specific behaviors:

System modeling is the interdisciplinary study of the use of models to conceptualize and construct systems within IT and business development  (From Wikipedia, the free encyclopedia).

Applications architecture is one of several architecture domains forming the pillars of an enterprise architecture or solution architecture.  Applications architecture is the science and art of ensuring the suite of applications being used by an organization to create the composite architecture is scalable, reliable, available and manageable (From Wikipedia, the free encyclopedia).  In Pattern-Oriented Software Architecture: A System of Patterns, by F. Buschmann, R. Meunier, H. Rohnert, P.Sommerlad, and M. Stal, John Wiley and Sons, 1996, ISBN 0-471-95869-7, an Architectural pattern is defined as expressing a fundamental structural organization or schema for software systems. Architecture Views are selected parts of one or more models representing a complete system architecture focusing on the aspects that address the stakeholder concerns  (Source:

Object-oriented analysis and design (OOAD) is a popular technical approach to analyzing, designing an application, system, or business by applying the object-oriented paradigm and visual modeling throughout the development life cycles to foster better stakeholder communication and product quality (Source: Wikipedia).

  • Object-oriented design using the UML
  • Design patterns
  • Open source development
  • Implementation issues

Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards (Source: Wikipedia).

Software evolution

  • Evolution processes
  • Program evolution dynamics
  • Software maintenance
  • Legacy system management

Sociotechnical systems

Advanced Software Engineering

Software Management

Process Improvement – coping with change


Selected videos is UC Berkeley’s central service for online video & audio for students and learners around the globe

Berkeley Computer Science 10, 001 – Spring 2014 The Beauty and Joy of Computing, Lecture 1

3D Printing

Setting Up a Raspberry Pi

Explaining 3D Computer Graphics

Explaining Web 2.0

Computing Health and Safety

Explaining Mobile Broadband

Explaining Computer Security

Explaining Cloud Computing

Explaining Big Data

Explaining RAID

Explaining Display Connectors

Explaining Two-Factor Authentication