Ask Software Engineering Expert

For the assignments in this course, you will not be implementing the actual project, but rather, you will be developing a comprehensive Software Design Document. Your first task in this process will be to select an organization or identify a hypothetical organization to use as the basis of your projects. You will also create the shell document for the final project deliverable that you will be working on during each unit. Appropriate research should be conducted to support the development of your document and assumptions may be made when necessary.

SECTION 1: Project Selection

The first step will be to select an organization as the target for your Software Design document. This organization will be used as the basis for each of the assignments throughout the course and should conform to the following guidelines:

- Nontrivial: The selected organization should be large enough to allow reasonable exercise of the software design process.
- Domain knowledge: You should be familiar with the organization to allow the focus to be on the project tasks without significant time required for domain education.
- Accessibility: You should have good access to the people and other information related to the organization because this will be an important part of the process.
- Note: The selected organization might already have the software implemented and may still be used as the basis for the projects in this course.
- Note: The selected organization must have a need for some kind of software as part of its operation. Therefore, feel free to identify a hypothetical organization that meets the requirements. Any necessary assumptions may be made to fulfill the requirements of organization selection.

SECTION 2: 3-4 pages on Requirements Analysis and Software Architecture

Prior to designing software, it is important to analyze the organization's functional and nonfunctional requirements for the software application and to understand how the software application will be used within the organization. One approach to understanding the organization's requirements to move forward with the design phase is to take a functional set of requirements and break them down into pieces that are suitable for engineering design. For this assignment, you will continue the design process by adding the Requirements Analysis and Software Architecture section to the Software Design Document. You will perform an analysis of the functional and nonfunctional requirements based on the organization's needs and the 3-4 features that you identified in the previous section, and describe the results of your analysis in the form of a use-case diagram. You will also define the high-level design of the software by researching and selecting an appropriate software architecture style to use as the basis for the structure of your software.

Requirements Analysis and Software Architecture:
- Identify and describe the organization's functional and nonfunctional requirements that are allocated to the 3-4 features you identified in the previous section.
- Identify 3-4 use cases in the form of a use-case diagram.
- Briefly describe each of the use cases.
- Identify and describe the intended actors or users of the software.
- Identify and describe a software architecture style to use as the basis for your software design project.
- Include an explanation of why you selected the architectural style.
- Describe some strengths and weaknesses of the architectural style and how those will impact your software design.
- Describe the architecture of the software that you are designing in the form of a conceptual model that depicts the high-level structure of the software.

SECTION 3: 2 UML Diagrams, 2 Data Sequence Diagrams, 2 State Transition Diagrams

For this assignment, you will continue the design process by adding the Sequence and State Transition Diagrams section of the Software Design Document. Based on the use-cases that were identified in the previous section, you will develop at least 2 unified modeling language (UML) sequence diagrams. Then, based on the components you identified in the software architecture that was developed in the previous section, you will develop at least 2 UML state transition diagrams. You are to describe each diagram with sufficient detail to remove any potential ambiguities and to allow a reader with minimal knowledge of the project to understand the diagrams.

Sequence Diagrams:
- Develop at least 2 data sequence diagrams for your application using the UML.
- In some cases, sequence diagrams show classes that have been designed.
- For this assignment, you do not need to define the classes. Instead, you only need to identify the objects that will potentially be used.
- Objects are the nouns used in the program (e.g., customer, database, and invoice)
- Paste the diagrams into the Software Design Document.
- Describe each diagram with sufficient detail to remove any potential ambiguities and to allow a reader with minimal knowledge of the project to understand the diagram.
State Transition Diagrams:
- Develop at least 2 state transition diagrams for your application using the UML.
- In some cases, state transition diagrams show classes that have been designed.
- For this assignment, you do not need to define the classes. Instead, you only need to identify the objects that will potentially be used.
- Paste the diagrams into the software design document.
- Describe each diagram with sufficient detail to remove any potential ambiguities and to allow a reader with minimal knowledge of the project to understand the diagram.

SECTION 4: 1 Class Diagram, Verification/Validation, and Traceability Matrix

For this assignment, you will continue the design process by adding the Class and Activity Diagrams and the Verification and Validation sections of the Software Design Document. Based on the software architecture and design that you identified in the previous assignments, you will develop 4-5 classes and identify at least 1 design pattern that you could adopt to assist in your software design. You will also develop at least 2 activity diagrams to describe the functionality that you identified in previous sections.

You are to describe each diagram with sufficient detail to remove any potential ambiguities and to allow a reader with minimal knowledge of the project to understand the diagrams. You will also identify some appropriate techniques that can be used by the organization to verify and validate specific aspects of the software design. As part of the verification and validation process, you will also create a traceability matrix of the requirements you identified in week 1 to the design.

Class and Activity Diagrams
- Develop at least 1 class diagram consisting of 4-5 major classes.
- Identify the class name, and show some properties and methods.
- Show the relationships between the classes (e.g., inheritance).
- Paste the diagrams into the Software Design Document.
- Describe each diagram with sufficient detail to remove any potential ambiguities and to allow a reader with minimal knowledge of the project to understand the diagram.
- Select and describe at least 1 design pattern that you could adopt to assist in your software design, and justify you selection.
- Develop at least 2 activity diagrams.
- Paste the diagrams into the Software Design Document.
- Describe each diagram with sufficient detail to remove any potential ambiguities and to allow a reader with minimal knowledge of the project to understand the diagram.
Verification and Validation
- Describe some appropriate techniques that can be used by the organization to verify and validate specific aspects of the software design.
- Include a traceability matrix of the requirements that you identified in Week 1 of the design.

SECTION 5: 3-4 pages on Multithreading and Constraints

The final step in the design phase is to review the design to ensure that it adequately addresses the requirements and that it is sufficiently detailed to allow the organization's engineering team to move forward with the implementation phase based on your design. This is also a good time to identify any potential constraints that might affect the organization's ability to implement the design. In addition, particularly with today's advances in multicore technology, it might be a good opportunity to identify potential performance improvements by utilizing multithreading into the design.

Multithreading Opportunities
- Analyze your current design, and identify potential opportunities to incorporate multithreading into the design.
- Describe at least 3 areas of the software project where multithreading might improve the performance of the application.
- As a continuation of the verification and validation techniques that were described in the previous section, identify specific metrics that could be used by the organization in the performance-testing process.
Constraints
- Identify and describe any constraints or other factors that might affect the organization's ability to implement the software.
Software Design Document
- Review the entire document for any changes and improvements that you would like to make.
- Ensure that this final version of the plan is sufficiently detailed to allow the organization's engineering team to move forward with the implementation phase based on your design.

Software Engineering, Computer Science

  • Category:- Software Engineering
  • Reference No.:- M92260400
  • Price:- $130

Priced at Now at $130, Verified Solution

Have any Question?


Related Questions in Software Engineering

In this assignment you will answer the following questions

In this assignment, you will answer the following questions related to Android platform and Android security design. 1. Describe Android architecture in detail by explaining the four conceptual layers. 2. Describe Androi ...

The research paper for this course is about some of the

The research paper for this course is about some of the best sources of digital evidence for child abuse and exploitation, domestic violence, and gambling according to the National Institute of Justice. Research commerci ...

Research projectin the course we have covered various

RESEARCH PROJECT In the course, we have covered various security and privacy issues that arise in the cyberspace field. We have learned to identify these risks and have discussed the current approaches and developments f ...

Overviewyou are required to modify and logically extend

Overview You are required to modify and logically extend the functionality of a provided code base to implement a game. This requires you to modify the code base as well as create documentation and implement various user ...

Address the following integrating biblical perspectives

Address the following, integrating biblical perspectives where appropriate: Define a hate crime and describe how white supremacist groups use the Internet to spread their message of hate. Explain why hate crime legislati ...

In this assignment you will answer the following review

In this assignment, you will answer the following review questions from the reading materials of the module/week. 1. "What are the key components of a typical P2P application? Describe their functions." 2. "What are the ...

Write reply to this article with references with apa

Write reply to this article with references with APA bibliography. Hate Crimes Over the past couple of years, hate crimes have been on the rise in America's largest cities. Studies show that there were sharp spikes in th ...

Reply to this article with apa referencehate crimes

Reply to this article with APA reference. Hate crimes According to Merriam-Webster, hate crime is any of various crimes (such as assault or defacement of property) when motivated by hostility to the victim as a member of ...

Proposaldesign of an efficient gps tracking system tag for

Proposal Design of an efficient GPS Tracking System (tag) for monitoring small species IMPLEMENTING EMBEDDED SYSTEMS USING SYSML Task Using PapyrusSysML Software (Downloadable online - Evaluation Copy- Latest Version) Mo ...

Write review on this article with apa formatgovernment

Write review on this article with APA format. Government surveillance is a major issue in the United States and globally. Surveillance refers to any collection and processing of personal data, whether, identifiable or no ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As