No files. Deadline is tomorrow Sunday 08/24/2013 by 11:00pm CST
SD254 Project: Middleware[MR1]
See page 5 of this document for an example. Additionally, if you submit your document as a MS Word document, your instructor will be able to embed specific suggestions into that document and return it to you.
Course Code and Title:
SD254 Programming II
Learner Outcome that this assignment will fulfill (write it in the space provided):
Develop a computer program that operates with a database, network, website or operating system.
Assignment Format: Select One
Individual Project with group input
What are the hardware/software requirements for this assignment?
Students need to have Microsoft Word, a C++ compiler and IDE such as Dev-C++, and at least one of the following: a database, a website, an operating system that supports system calls, or a network and two computers on that network.
How many deliverables does this assignment have?
4 written documents
2 oral presentations (regular classrooms) or 2 discussion board activities (online classes)
The goal of this assignment is to deepen and document your understanding of the interoperability between systems. You must select at least one system that your program interfaces with directly. Other systems may be passive participants. For example, if you wrote a program to make database queries, the program will interface directly with the database but both will reside on operating systems, and if they are on different machines, the program will make the call over a network channel.
For those who require a challenge, a more ambitious project would be to write a program that interoperates with two systems. As an example, a program could be written that receives its input from a web page and provides its output to a database.
Instructor assigns this project
Written problem selection
Written problem description
Discussion board reactions
Written solution (first draft)
Written solution (final draft)
Identify a need or a problem of interest that involves one or two existing systems that may be addressed by writing a piece of middleware. If your systems do not exist yet, you must plan and implement them by this due date. The problem that you seek to solve should be one of interoperability. Even in cases where the interoperability solution already exists, you may seek to implement your own. The advantage to implementing your own middleware is that you can write code that you trust. Compiled code written by others may contain errors or Trojan code designed to compromise the security of your system. Prepare and include a Unified Modeling Language (UML) Domain Model diagram and Use Case Diagram in this deliverable.
Processing Data: The program receives its input by querying a database for values and produces a report as output that includes the count of values, average, median, and mode values. The program could accept command line inputs such as date range, for example, so that it may be run on a different set of data each time run.
Automating Administrative Tasks: The program accepts an email address, an operating system command, and a search string as command line arguments. The program then runs the system command, searches the output of that command for the specified string, and if such a string is found, the program creates and sends an email to the specified email address, notifying the recipient of the details. Such a program could be scheduled by the operating system to run daily, for example, automating an administrative task.
Webpage Link Mapping: The program accepts a URL, a search depth, and an output file name as input. It then visits the given web page and searches the page for links to other web pages, which it saves. It then visits each of those web pages and repeats the process iteratively until it reaches the depth that was specified in the input argument (be careful with the depth specified, or the program may not terminate in a reasonable time). The program outputs all the links to the specified text file.
Network Communication: A client-server program for two-way chat will listen on a specified port. When running on two machines, any text entered on one client will be echoed on the other. If one client is not running, the sending client will “wait” for the recipient to establish a connection before sending the message. The system could be enhanced to support encryption and file transfers.
Document and describe the existing system or systems and the interoperability problem that you seek to work on. Fully describe your topic and problem, including the technologies employed. Create UML Domain Model and Case Diagrams to model your system and the functionality desired from your solution. This document should completely describe the relevant aspects of the systems involved and the advantage of the interoperability solution you have planned. If a solution to your problem already exists, you should also fully describe the existing solution’s functionality, limitations, and features. Perhaps the existing solution is not free or the existing solution is a shareware “black-box” application and should not be trusted, so you should create one that you trust.
Oral Presentation: Present problem description to class (residential sections only)
Fully describe your topic and problem, including the technologies employed. Provide 5 copies of your work for instructor and peer review. In your oral presentation, cover all important topics to help your classmates understand your problem.
Provide initial reactions and suggestions to each other to improve each other’s chances of success.
Discussion Board (online sections only)
Post your Problem Description document in the discussion board for your peers to review. Review at least four other student’s work. Provide initial reactions and suggestions to each other to improve each other’s chances of success.
Solution (First draft)
Your solution plan should include two UML Class Diagrams: one for your system as a whole, and one for the middleware that you intend to create, which should include at least one reusable class. For each class in your middleware, you should specify all of the class functions, and completely describe the algorithms that will be implemented. Each UML diagram should be fully described with supporting text so that anyone who knows a little about your problem would be able to understand the solution you have planned. Your document should also include a test plan that will provide a wide range of tests and expected results that you plan to run on your system, once it is implemented.
Implement your solution in C++ code, compile it and test it. Create a log of the results of each test and summarize the results of the test runs by amending your test plan with the actual results. When actual results are different from expected results, find out why and report your findings if you discover what went wrong. After making any corrections to your initial solution, run your tests again and report the new results. Report all known limitations and all remaining known errors. Write a section that describes future work that may be done to improve your solution. Fully describe and provide credit to code libraries that you used in the development of your solution. Provide a section that specifically discusses any security features or limitations to your solution. Submit a full text copy of the source code you wrote.
Oral Presentation: Present solution to class (residential sections only)
Provide 5 copies of your work for instructor and peer review. In your oral presentation, cover all important topics to help your classmates understand your problem.
Post your solution document in the discussion board for your peers to review.
Review at least four other student’s work. Provide constructive remarks and suggestions to each other to improve each other’s chances of success.
Solution (final draft)
Incorporate suggestions from other students and your instructor to revise your document. Turn in two final copies to your instructor.
SD254 Programming II: Middleware: Problem Selection
Student Name(s): John Doe, Project Title: “SEO analysis of web pages and key terms through automated Google searches”
Class/Instructor: SD254/Mark Renslow
Description/Assignment: Identify an interoperability need or a problem of interest to you that involves one or two existing systems. Write a 2-4 page document that addresses all the criteria below.
0 1 2 3 4 5 6 7 8 9 10
Will this program be able to suggest ways to improve SEO, too? This is unclear. What exactly is the problem you are solving?
UML diagrams: Domain Model and Use Case diagrams
X o o o o o o o o o o
Both diagrams are missing.
Limitations of existing systems
Description of the interoperability solution planned
Description is vague or too broad. Perhaps select a sub-problem first.
Advantages to planned solution
Good ideas, if they can be done.
To do: needs/plans/research
Must demonstrate that it is possible to automate Google searches and parse the results.
Adherence to APA Guidelines
Quality of referenced sources
Significantly more research is required to see if this has been done already.
69/10 = 69%. This deliverable is worth 10 points. Your work has earned you 7 points.
10 Client-ready or portfolio quality
9 Client-ready or portfolio quality with one or two minor flaws
8 Strong college work with one obvious flaw or several minor flaws that do not detract significantly from the work
7 Average college work that requires some significant effort to be portfolio quality
6 Below average work with one or two major flaws
5 Much additional time is required to improve
4 Writer demonstrates incomplete understanding
3 Very unclear or rushed with numerous errors
2 Nearly absent
1 Detracts from the overall work and should be redone
0 Absent or aberrant
An interesting project, if you can pull it off! Consider focusing on a sub-problem first, to make it manageable.
SD254 Programming II: Middleware: Problem Description
Description/Assignment: After receiving your graded Problem Selection document from your instructor, fix any errors and address any issues in a revised document. Document and describe the existing system or systems and the interoperability problem that you seek to solve. Write a 2-5 additional pages that address all the bolded criteria below.
Fix errors in Problem Selection
Description of existing systems
Anticipated security consequences/issues
SD254 Programming II: Middleware: Solution Plan
Description/Assignment: After receiving your graded Problem Description document, fix any errors and address any issues identified by your instructor. Develop a design for a software solution that will interoperate with one or more systems. Write 2-5 new pages that address all the bolded criteria below. Additionally:
Fix errors in Problem Description
UML diagrams: two Class diagrams
Planned classes and member functions
Planned program to utilize Classes
Description of key algorithms (including either pseudo-code or flowcharts)
Test plan and expected results
Barriers to project success
SD254 Programming II: Middleware Solution Implementation (use this rubric for both the first and final draft)
Description/Assignment: After receiving your graded Solution Plan, fix any errors or problems identified by your instructor. Implement your solution in C++, test it, and report your results. Write 3-5 additional pages that address all the bolded criteria below.
Fix problems in Solution Plan
Description of problems encountered during development and implementation. Solutions found.
Final Source code (as an appendix)
Results of test runs
Report of known limitations/bugs
Time required to complete this project
[MR1]See page 5 for an example rubric, filled out.
I do not see an answer or link
Hello, I'm a moderator for this topic. I've been working hard to find another professional to assist you right away, but sometimes finding the right professional can take a little longer than expected. I wonder whether you're ok with continuing to wait for an answer. If you are, please let me know and I will continue my search. If not, feel free to let me know and I will cancel this question for you. Thank you!
could you cancel this questio please
Please cancel this question.