UML State machine diagram and activity diagram are both behavioral diagrams but have different emphases. Activity diagram is flow of functions without trigger (event) mechanism, state machine is consist of triggered states.
Continue readingCategory: Software Engineering
What is Software Engineering?
Software engineering focuses on the development of software products. it is a systematic, disciplined, and quantifiable approach to software development, operation, and maintenance; That is, engineering to software applications.
Continue readingWhat is the Relationship between System Context Diagram and DFD?
The context diagram shows the system considered as a single high-level process, and then shows the relationship of the system to other external entities (systems, organizational groups, external data stores, and so on). Another name for a context diagram is a context-level data flow graph or 0-level DFD.
Continue readingDevelop DFD with Stepwise Refinement
One of the effective way to solve a complex problem is to break it down into simpler sub-problems. You start by breaking down the whole task into simpler parts. Step-by-step refinement is essentially a decomposition of the system to gain insight into the subsystems that make up the system, known as the top-down decomposition method.
Continue readingWhat is Hexagonal Architecture Diagram
Hexagonal architecture diagram is an architectural pattern used in software design aiming at creating loosely coupled application components. This approach is an alternative to the traditional layered architecture. It is one of the many forms of DDD (Domain Driven Design Architecture).
Continue readingWhat is Case Management Model and Notation (CMMN)
CMMN is a graphical notation used for capturing work methods that are based on the handling of cases requiring various activities that may be performed in an unpredictable order in response to evolving situations. Using an event-centered approach and the concept of a case file, CMMN expands the boundaries of what can be modeled with BPMN, including less structured work efforts and those driven by knowledge workers. Using a combination of BPMN and CMMN allows users to cover a much broader spectrum of work methods.
Continue readingRisk Management for Software Development
Risk management is a system for identifying, addressing and eliminating issues that may be detrimental to the cost, schedule or technical success of a project or to the morale of the project team. “Tomorrow’s problems are today’s risks.” Therefore, “risk” is clearly defined as a problem that could cause some damage or threaten the project schedule, but has not yet occurred.
Continue readingWhat is MVC Framework?
MVC (known as Model-View-Controller) is a pattern in software design that is commonly used to implement user interfaces, data, and control logic. It emphasizes the separation between the business logic and presentation of the software. This “separation of concerns” provides better division of labor and better maintenance.
Continue readingOverview of Software Development Lifecycle (SDLC)
In software engineering, the software development lifecycle is the process of dividing the software development effort into smaller, parallel or continuous steps or sub-processes to improve design, product management. This approach may include predefined specific deliverables and artifacts that the project team creates and completes for the development or maintenance of the software applications.
Continue readingWhat is the open-closed principle (OCP)?
The Open / Closed Principle is the most basic design principle in the software development world. It guides us how to build a stable and flexible system. A software entity such as class, module, and function should be open for extension and closed for modification.
Continue reading