software design- last

profileMannie
instructions.pdf

2 - Multithread section 1 - 55 points }

{3 - Multithread section 2 - 55 points }

{4 - Multithread section 3 - 55 points }

{5 - 3 constraints and the impact - 55 points}

{6 - APA format, proper formatting, etc. - 10 points}

 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.

 For this assignment, you will add 3–4 pages describing potential multithreading opportunities, performance metrics, and constraints that might affect the implementation of the design.

 Finally, you will further refine the Software Design Document to produce the final draft version. Updates may be based on peer and instructor feedback.

The project deliverables are as follows:

 Update the Software Design Document title page with the new date.  Update the previously completed sections based on instructor feedback.

 Multithreading Opportunities o 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.

o Create 3 sub-sections - with headers  "Multithread opportunity #1"  "Multithread opportunity #2"  "Multithread opportunity #3"

For each section, there should be 2+ paragraphs of information about the multi- thread opportunity. Include all three things below for each opportunity.

1 - What area of the design is the opportunity?

2. How would you change things to introduce multithread?  This is an "exploratory discussion" - you only have to identify the

potential OPPORTUNITIES (chat 9 has an example)  You want to think about all of the expensive transactions, such as

reports, multiple logins at the same time, perhaps a lot of deposits at the same time is taxing to the system. If a particular person has multiple checks to deposit at the same time using a mobile device, I have personally found that this is an expensive transaction with regard to how much bandwidth it takes and the time that it takes to make the final submission. Optimizing that might be another opportunity.

 Question - for something like logins, would we specify a timeframe for capturing multiple logins? Ex: grab all the logins in a 5 second period to process at once?

 Answer - don't think of it in the way of grabbing multiple ones at once. Think of what happens in the back and to process the logins. That is what has to be multi-threaded is that all of the activity it takes too long somebody in needs to be optimized or to be able to run in parallel threads to the same place. It is not about grabbing all the logins of the five second period. As you suggested

3. For the performance testing - what are some metrics that we can use to measure success?

 Transactions per second/minute  Page refresh per X seconds?  Database updates per X?  Anything that is MEASUREABLE is good.

 1 reference, 1 citation for this area

 Constraints

 Add at least 6-8 constraints in 3-4 paragraphs total describing all of them, and the impact that they have.

 At least 2 citations and 1 reference. Try to have at least one from each of the categories below.

 Feel free to create your own information such as equipment, etc.

o Identify and describe any constraints or other factors that might affect the organization’s ability to implement the software.

o Triple Constraint (Project Level)  There may be a constraint of time to get this live? Is there some

deadline?  Is there a constraint of personnel available?  Funding?  Is there too much that has to be delivered within the time and

budget available? o Technical Constraints

 Technical reason why we can't we do what we need to get done?  Is there a constraint on the equipment we can get?

 Do we have to settle for lessor equipment for some reason? What would be the impact of that?

o Software constraints  Are the user expectations realistic - the technology is just not there

to give them what they want. (I want it to "read my mind" as a goofy example of an unrealistic expectation) That is a constraint of the technology not able to do "everything" that the user wants.

o Other

Constraint Narrative

Baseline - Scope is 20 things, Budget of 20x, and Time of 20 weeks

This is going to be a conference of constraints. Dr. has turned his microphone on and I am going to answer questions from the students about constraints. You will use the contents of this "press conference" of sorts to answer the constraints

questions above. You can pull out of this conference the constraints themselves, or add your own as you wish.

 One technical constraint is that we have to start the run of transactions that happen on a periodic basis at 9 PM. Currently, the run of that transaction batch takes two hours.

 Another constraint is that we have to wait until all of the transactions of the banking business day are done before we run backup. Backup has to be complete before the banking business day starts in the East Coast. So therefore, all backups have to be complete by 8 AM Eastern time. Currently, the backups take six hours.

 The original budget for this project was $2 million, six months of effort, with 20 features to be included in the scope. The problem is that our current spend is 10% faster than we expected, in our feature delivery is 20% slower than expected at this time.

 We don't expect the online bank to work in a browser that was built before 2010.

 We don't expect the mobile device software to work in phones that were built before 2011.

 To make our website we have to use Java. The constraint around the use of JAVA is that is the company that we currently buy licenses from, which is IBM, so a website that we build has to be in Java, so we can use their backend Web server specifically built for Java. We would never use .net as our programming code base. This is a shame too, because some of the features that are built into.net are not built into Java, so we have to build them ourselves. This will extend the plan of bit.

 Our original design was that we needed to use for main Web servers, but we only have the funding for three.

 For our first version of the software, we won't be able to include all disabled persons features. For a blind person, we will not have the report feature turned on just yet.

 There's a question about can the team make up the framework? The answer is, yes you can make up the framework with the JDK in JEE versions, as you wish.

 There is a question asking whether or not the online solution should also be expected to use smart phone applications? The answer is, the optimum situation is that they should be released at the same time. I will allow a one-month delay between computer browser-based rollout and

smartphone rollout. For the smart phone rollout, the app needs to be available in IOS and android at the same time, including BlackBerry. The new blackberry that was built after 2011.

A final look and review

Software Design Document