Skip to main content

Research in Software Engineering Paradigms and Methods - Key Points

Software engineering is new to the research field due to its different:
  • Research methods.
  • Validation methods.
The main focus of this papers is in the identification of research problems in software engineering. Research problems in software engineering can be classified into 2 categories:
Scientific Nature Engineering Nature
 Consist of different objects of study  Problem of building new software from existing  artifacts
 Focus is on the theoretical aspects of Software  engineering  Its focus is on the artificial aspects
 It is not just the actual but also the knowledge  It is not just the application but also the  knowledge
 Example: What things are like?  Example: What things should be like to create  new?
Software engineering and computer science had been considered as a single field till the early 1980's which led to the immaturity of the software engineering research field. This immaturity had been verified as a result of the detected deficiencies in its research i.e. :
  • Systematic rigorous methods.
  • Lack of evident methods of research result validations.
Software engineering is a combination of two types of studies:

Software engineering designs can be created from an old one or the existing software designs can be studied to analyze their use in the industry but the same cannot be applied to software engineering tools as even after the creation of new tools, it is the old ones that are still tested. In this case, the development of the software engineering design is an empirical or a socio-cultural problem where as the later is the engineering problem. The justification of software engineering research had been conducted via:
The use of the research methods and paradigms depends on the nature of the research being conducted. The method required to solve engineering problems itself is becoming a research field.

Comments

Popular posts from this blog

Software Architecture Views and Structures

Description of Views: In the year 1995 Kruchten presented his 4+1 architectural view model consisting of the following five types of views: Logical Development Process Physical Scenario Later with further development and research in the domain of architectural view following new views were developed to represent their respective structures: Views Sub-View of Description Logical None Highlights the functionalities provided by the system to the end-users. Unified Modeling Language (UML) diagrams such as the Class diagram, Domain diagram, Use Case diagram, State diagrams and Activity diagrams can be used to represent the logical view of the architecture. Development None It is also known as an implementation view. It is mainly concerned with the software project management. It represents the system with the programmer’s perspective. Process None It deals with the representation of...

How traceability of non-functional requirements is managed throughout the software development process?

1. Requirements Traceability: Requirements traceability is the process of describing and keeping track of a set of requirements throughout the system’s lifecycle. The process assists in managing changing requirements of a particular software product. Requirements traceability of is two types, forward traceability where a particular requirement involved during the design and implementation phases of the software system, and backward requirement traceability where a particular requirement is being traced back to its source. 2. Proposed Solutions for the Traceability of Non - Functional Requirements : The author J. Merilinna [8], proposed a framework supported by a tool to trace the non-functional requirements in both forward and backward direction. The proposed method is based on the context of DSM (Domain Specific Modeling).  The NFR+1 framework involved are used for the elicitation, definition and redefinition of the system’s non-functional requirements. The...

Overview of MISRA C++ (2008)

Introduction Software to Control Autonomous Car MISRA C ++ is a software development standard for C and C++ programming language that aims to facilitate code portability and reliability in the context of embedded systems, specifically those systems programming in ANSI C. Its mission is:  “   To provide assistance to the automotive industry in the application and creation within vehicle systems of safe and reliable software ” MISRA - A Brief History In 1998 MISRA targeted only the automotive industry but later released it focus on generic rules for developing safety-critical applications such as: anti-lock braking system  (ABS), and auto-pilot software system etc. No major changes have been made to the MISRA C++ standard after the version released in the year 2008. Every autonomous vehicle developed can only be allowed for commercial or industrial use if each of its hardware and software component adheres to the required standards. ...