- 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 ARIS, DoDAF, OBASHI, RM-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).
- The Agile Manifesto
- Agile software development in general
- The New Methodology
- Method engineering: engineering of information systems development methods and tools
- Varieties of user-centredness: an analysis of four systems development methods
- Extreme programming
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).
- Conceptual modeling of complex systems
- Context models
- Interaction models
- Structural models
- Behavioral models
- Model-driven engineering
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: opengroup.org).
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).
- Evolution processes
- Program evolution dynamics
- Software maintenance
- Legacy system management
Advanced Software Engineering
- Application frameworks
- Component-based software engineering
- Service-oriented architecture
- Embedded software
- Aspect-oriented software engineering
Process Improvement – coping with change
- Enterprise Modeling
- The process improvement process
- Performance measurement
- Process analysis
- The CMMI process improvement framework
webcast.berkeley.edu 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