Software Engineering Concept Map: Software Development
The Final Project for this course is an accumulation of previous weeks’ interactive assignments in which you will utilize all of the skills you have acquired in this course to develop a Software Engineering Concept Map and Paper. In each week of the course, you created various sections of your Software Engineering Concept Map. Now you will combine all the sections you have developed into one final concept map that demonstrates your knowledge of software engineering design and development.
In Week 1, you identified different software engineering processes and methods in which you illustrated and made connections among the concepts of software engineering. In addition, you described the function of each software process and method. In Week 2, you illustrated different software development methods and explained the processes used for software development and software requirements engineering. In Week 3, you illustrated the perspective of context, interaction, structure and behavior modeling (System Modeling and Architectural Design). In addition, you described the differences between applying each model; system architecture from different perspectives of software components; how architectural patterns are used to present, share, and reuse knowledge; and the MVC pattern as used in Layered and Client-Server architecture. In Week 4, you illustrated the three major aspects of design and implementation in software engineering and described software reuse at different levels, the benefits of software reuse, the fundamental configuration management activities, and the host-target development platform. You also explained various types of software testing and the three stages of development testing. Finally, in Week 5, you illustrated the components of software evolution, showed the logical elements of a legacy system, and described their relationships.
Part I: Final Software Engineering Concept Map
For the Final Software Engineering Concept Map, review the feedback you received from your peers and/or instructor and incorporate any feedback you received for all five concept maps. Combine all the sections you have developed into one final concept map.
Part II: Paper
In your paper:
Outline the features of contemporary Software Engineering, within the context of: Software development, software engineering, software process, process models, process activities, software design and implementation, software validations, and evolution.
Describe software engineering development techniques, including agile and plan-driven methodologies, requirements engineering processes, specifications, use cases, validations, and change management.
Explain how various system modeling fundamentals, including context-models, interaction-models, structural-models, and behavioral-models, lead to architectural design, architectural views, architectural patterns, and application architectures.
Describe how system modeling is applied in developing object-oriented software, architectural design, and implementation.
Describe the various software testing plans to include development, release, user testing phases, the mechanisms to control software changes or evolution processes, and software maintenance.
Describe how you might use these concepts about software engineering in future courses and/or future jobs.
The Software Engineering Concept Map and Paper
Must include a concept map.
Must be a minimum of 1,200 to 1,500 words in length (not including title and references pages) and formatted according to APA style as outlined in the Ashford Writing Center (Links to an external site.).
Must include a separate title page with the following:
Title of paper
Student’s name
Course name and number
Instructor’s name
Date submitted
Must use at least two scholarly and/or credible sources in addition to the course text.
The Scholarly, Peer Reviewed, and Other Credible Sources (Links to an external site.) table offers additional guidance on appropriate source types. If you have questions about whether a specific source is appropriate for this assignment, please contact your instructor. Your instructor has the final say about the appropriateness of a specific source for a particular assignment.
Must document all sources in APA style as outlined in the Ashford Writing Center.
Must include a separate references page that is formatted according to APA style as outlined in the Ashford Writing Center.
Software Development
Name
Institution Affiliation
Date
1 Features of contemporary software engineering
In contemporary software engineering, there exist a variety of tools that are applied in building software. Additionally, it is technical to strategize and meet the unique design needs with the diversifying consumer needs. However, there is more focus on the software lifecycle. Software development in contemporary society is based on quality and costs (Jürjens & Schneider, 2017). Some critical aspects are addressed in contemporary software engineering, including software development, engineering, process, process models, process activities, design implementation, evolution, and maintenance.
Software development
Software development is a computer-based science, associated with creating, designing, deploying, and supporting software. It is a crucial feature in software engineering. Some of the critical aspects to be considered in contemporary engineering include the user's need then the software is developed to meet the identified needs (Sommerville, 2016).
Software engineering
Software engineering is a systematic approach to engineering that is applied in ensuring a complete software development process. There are critical features in contemporary design society that must be met during software engineering (Jürjens & Schneider, 2017). The features include portability, reliability, maintainability, efficiency, and functionality.
Software process
The software process involves related activities leading to software production. The activities are grouped into two critical aspects: existing system modification or development from scratch (Mostafa et al., 2017). Software processes in contemporary software engineering include software specification, design, implementation, verification and validation, and software evolution.
Process models
A process model is a representation of how the development of the software will be conducted. These are the models that are applied in developing the software to meet consumer needs. They describe each phase forming the software life cycle. They may include designing, implementation, and testing.
Process activities
Process activities are majorly separated into four aspects: specification, development, validation, and evaluation (Braude & Bernstein, 2016). They are uniquely organized depending on the development process. For instance, in a waterfall model, they are sequentially organized while interleaved in incremental development.
Software design and implementation
Software design involves connecting the software components to meet the customer needs. However, implementation involves transforming the design to program (Braude & Bernstein, 2016). The three key features involve stimulus, description, system, and actors. The four aspects are integrated to obtain an effective system design and implementation.
Software validation and evolution
Software validation is a specific activity that involves checking of compliance of the system to the already established requirements. The key features include system, design, items, and processes. All four aspects must be considered for complete validation. Software evolution is characterized by the software's initial development, which is eventually updated (Jürjens & Schneider, 2017). In contemporary software engineering, it is done to achieve highly advancing software technologies and growth. The key features involve enhancing functionalities and reducing obsoleteness.
2 Software engineering development techniques
Agile and plan-driven methodologies
Agile and plan-driven methodology plays an essential role in software engineering. In agile methodology, the core aspect that occurs is the iteration of activities. In this case, the design and requirements are achieved together. It is not separately done. The approach majorly considers implementation and design as software process core activities (Sommerville, 2016). Some of the techniques applied include elicitation. On the other hand, plan-driven methodology occurs stage-wise with specific output in every stage, as indicated in figure 1. Iteration occurs within the formal documents in a plan-driven approach requiring each manager to successfully create these documents.
Figure 1: Plan-driven methodology
Source: Sommerville (2016). Software Engineering 10th Edition. Chapter 3.
Requirement engineering processes, specifications, and use cases
Requirements engineering processes refer to the definition, documentation, and maintenance of software requirements. Every software developer should be well conversant with core types of requirements, including requirements management, verification, validation, specification, and elicitation. On the other hand, software requirement specification is a given document describing activities to be perfumed by the software and how to achieve it (Sommerville, 2016). Lastly, use cases involve a usage scenario for a given software. They are majorly used ...
👀 Other Visitors are Viewing These APA Essay Samples:
-
Employers Monitoring Internet Activities of Employees Working From Home
2 pages/≈550 words | No Sources | APA | IT & Computer Science | Coursework |
-
Types and Methods of Backup for Linux and Windows
1 page/≈275 words | No Sources | APA | IT & Computer Science | Coursework |
-
Server and Workstations
1 page/≈275 words | No Sources | APA | IT & Computer Science | Coursework |