Improve the performance of the application

Assignment Help Software Engineering
Reference no: EM131451660

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.

Verified Expert

The assignment was to present software design document. The topic taken as an assignment was "Personal Database Software for Managing Digital Research Resources". The software design is important before implementation in order to test all the requirement in advance. The references taken for this work are listed at the end of the document attached. Some of the UML diagrams are created online using the website "www.creatly.com" and a few of the diagrams are drawn using microsoft visio 2010.

Reference no: EM131451660

Questions Cloud

How does your topic or advertisement reflect social trends : Write a 250- to 350-word response tothis follow-up question: How does your topic or advertisement reflect the social trends of the 1920s?
Explain how southwest airlines motivates its employees : Air Canada, Canada's national airline, has cut costs extensively in recent years while fighting possible bankruptcy. However, the difficulties faced.
What is meant by the term horizontal analysis : What is meant by the term horizontal analysis? What is meant by the term vertical analysis? Which one analyzes changes over time?
What are the benefits of state social welfare programs today : What are the benefits of federal and state social welfare programs today? What experiences have you, or someone you know, had with a social welfare program?
Improve the performance of the application : Briefly describe each of the use cases - Identify and describe the intended actors or users of the software and identify and describe a software architecture style to use as the basis for your software design project.
Specify the deadlines for each goal : Specify the deadlines for each goal. Putting deadlines on each goal reduces ambiguity. Deadlines, however, should not be set arbitrarily.
Explain prioritize goals : When you have more than one goal, it's important to rank the goals in order of importance. The purpose of prioritizing is to encourage you to take action.
Find the security market line : Suppose there is a risk-free asset whose return is 5% and that the market portfolio has an expected return of 9%. Find the security market line.
Dividend is expected to grow at some constant rate : The dividend is expected to grow at some constant rate g, and the stock currently sells for $47 a share.

Reviews

Write a Review

Software Engineering Questions & Answers

  Use at least two functions with prototypes

It must use at least two functions with prototypes.  At least one function needs to correctly and appropriately use pointers. (10 point bonus if both functions correctly and appropriately use pointers.)

  Identify the model that contains each of derived attributes

Identify the model(s) that contains each of the Aggregation association, Class, Derived attributes, Extends association, Execution occurrence and Guard condition.

  Limitations to erp for enterprise business solutions

What are some of the limitations to ERP for enterprise business solutions? What advantages does commercial off-the-shelf software provide over custom software

  Who determines if the case must be handled internally

Every morning the Advocacy cases from the previous day go to the unions staff attorney who determines if the case must be handled internally or refered to an external law firm that the Union has hired.

  Develop the boston consulting group bcg matrix for your

develop the boston consulting group bcg matrix for your selected organization. hospitality outline the products and

  Architectural style for building software applications

Service Oriented Architecture (SOA) is an architectural style for building software applications that use services available in a network such as the Web. SOA is based on standard protocols such as HyperText Transfer Protocol (HTTP), Simple Object..

  Write different entities or objects for engineering firm

List the different entities or objects, logical processes, data flows and data stores that are involved, starting from the time you submitted your time sheet.

  End users must be involved in database design in a limit

End users must be involved in database design, but only to  degree. What are you are your toughts do you agree or did agree why or why not.

  An automated ticket issuing system sells rail tickets

An automated ticket issuing system sells rail tickets. Users select their destination and input card details and a personal identification number. The rail ticket is issued and their card account is charged. When the user presses the start button

  Is there a place for ethics in iton march 15 2005 michael

is there a place for ethics in it?on march 15 2005 michael schrage published an article in cio magazine entitled ethics

  Explain the basic architechture of a knowledge based system

Describe a design of your chosen system and explain the basic architechture of a knowledge based system.

  Determine the greatest magnitude negative number

Determine the greatest magnitude negative number one can represent in an 8-bit 2's complement code? Write your result in binary and decimal.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd