Aspect-Oriented Secure Software Case Study

Good Essays
Chapter : 5
Aspect-oriented Secure Software Modeling

Object Oriented Programming (OOP) [1] uses encapsulation and abstraction through class that captures both functionality and behavior and internal structure. In the software system development, besides the basic functionality, there are another concerns as synchronization, distribution, logging, error handling, security management, etc. If each one of these concerns are processed independently from the remaining part of the system, the adaptability, extensibility and reusability of the system would be increased, resulting in quality software being developed. To achieve this objective it is necessary that each one of these concerns being modulated inside the system. This fact assumes
…show more content…
The concepts that have been introduced by Kiczales and his research group, Aspect, Join Point, Crosscutting concerns and Weaving, constitute the core of AOP. The evolution of the Aspect-Oriented paradigm has progressed from programming towards the analysis and the design. The Aspect-Oriented Software Development (AOSD) [3] emerges naturally to promote the goal of the early separation of concerns from the implementation level towards other software development process phases, including the specification, analysis and design requirements. The Aspects-Oriented technology premise is the division of crosscutting concerns, where certain design requirements tend to cross the central functional entities group. However, some research groups have worked to introduce the use of linguistic divider mechanisms to modulate and compose crosscutting concerns, being summed up in different approaches: Adaptive Programming-AP, Composition Filters-CF, Subject-Oriented Programming-SOP and Multi-Dimensional Separation of Concerns –MDSoC. The AOP and these methods belong to a bigger research field known as Advanced Separation of Concerns-ASoC [4]. The methods related with ASoC propose different and assorted …show more content…
The concerns that (at the design or implementation phases) are spread over several modular units (crossing the limits of these units) are named crosscutting-concerns. This crosscutting complicates the development activities, the evolution, and the maintenance of the software. For this reason, a special modular unit that contains the crosscutting-concerns (known as aspects) was proposed in [1]. With regard to Secure Software Architecture (SSA), the aspects involved are called early security aspects [2]. The identification of early security aspects may ensure that appropriate decisions are made at early stage of the software development. However, the techniques to The handling of security-critical aspects at an architectural level still is in

Related Documents

  • Decent Essays

    CHAPTER THREE: METHODOLOGY 3.0 Introduction Sanders et al. (2003) delineates that a methodology is the theory of how a research should be undertaken encompassing the theoretical and philosophical assumptions upon which research is based and the implications of the method(s) adopted. This chapter gives a detailed summary of basis for data collection and the software development methodology adopted with prescribed steps for the research in the achieving of the project aim and objectives. 3.1 Software Development Methodology To avoid software crisis, selecting the right software development methodology for the planning, analysing of the requirements, design, evaluation, implementation, testing and maintenance is crucial and critical…

    • 1105 Words
    • 5 Pages
    Decent Essays
  • Decent Essays

    Phases involved are requirements analysis and definition, system and software design, implementation and unit testing, integration and system testing, operation and maintenance. It is used for large systems where systems are developed at several sites. It has drawbacks such as difficulties in accommodating change after the process has started, difficult to respond to changing customer requirements due to the distinct stages…

    • 873 Words
    • 4 Pages
    Decent Essays
  • Decent Essays

    The Requirements Analysis Document, also called RAD, is not just a document with some forms you need to fill in to get the project done. It actually serves an important purpose. It is used to define what the project is and how do get a successful product by doing what methods. Further, it is used to document the requirements of a system including a software engineering system, hardware engineering system, or any other business system. It is normally applied on software systems.…

    • 1654 Words
    • 7 Pages
    Decent Essays
  • Decent Essays

    It is helpful in designing and constructing the computer programs. It also represents the complete documentation of the software. • Fairly: According to fairly, software engineering is the technological and managerial discipline. It is concerned with the production and the maintenance of the software product. The software product is modified on the time and within its cost estimation.…

    • 1161 Words
    • 5 Pages
    Decent Essays
  • Decent Essays

    During this phase, the enterprise not only have to defining the project boundaries, but also have to evaluate system vendors and their offered ERP software modules in order to locate the most suitable software solution to the system. However, for narrowing down choices and continuing the project, the following tasks should be included in the selection…

    • 1213 Words
    • 5 Pages
    Decent Essays
  • Decent Essays

    3.4. Could each of the agile processes be described using the generic framework activities noted in Chapter 2? Build a table that maps the generic activities into the activities defined for each agile process. 3.5. Try to come up with one more “agility principle” that would help a software engineering team become even more maneuverable.…

    • 1516 Words
    • 7 Pages
    Decent Essays
  • Decent Essays

    Resolving such inconsistencies sooner is a necessary condition for successful development of the software. This paper proposes an enhanced fuzzy based GORE approach to handle the requirements conflict problem in GORE. Introduction Requirements Engineering (RE), is the first step of software engineering that deals with all process of software systems requirements like elicitation, validation, analysis, etc. Requirements engineering must address the reasons why a software system is needed, the functionalities that the system must provide to achieve its purpose and the constraints on how the software must be designed and implemented [2]. One of the great challenges of requirements engineering is…

    • 1041 Words
    • 5 Pages
    Decent Essays
  • Decent Essays

    SOFTWARE REQUIREMENT SPECIFICATION Software development life cycle(SDLC) consists various phases: requirement gath- ering and analysis, design, implementation or coding phase, testing, deployment and maintenance. In this section, we specify the software requirements of the proposed EFFM system. This phase is critical to the success of the project. Requirement analy- sis is an art and science. In requirement gathering and ananlysis, customer expectations need to be eshed out in great detail and documented.…

    • 1824 Words
    • 8 Pages
    Decent Essays
  • Decent Essays

    Requirements in this stage make use of the hardware and the code being developed, as these determine the success of this stage. Requirements also rely on the feedback after testing. The testing here is done by the developers for obvious bugs which are eventually fixed. Testing – this is the stage…

    • 819 Words
    • 4 Pages
    Decent Essays
  • Decent Essays

    1.1 Testing: Software testing is a phase in the software development that is used to provide stakeholders of the projects with information about the quality of the product or service that has been tested. Software Testing is also used to provide the objective and independent view of the system and that view allow to realize and understand the risks that could be faced at the implementation of the software. Multiple test techniques are included in the process of executing a program or application that has to be implemented with the intention of finding software bugs and errors. Testing is the process of finding, detecting, or discovering errors. Testing plays a important role in assuring that we have achieved the required set of quality and…

    • 842 Words
    • 4 Pages
    Decent Essays