DOC PREVIEW
Toronto CSC 302 - Requirements Analysis Assignment

This preview shows page 1 out of 3 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

University of Toronto Department of Computer Science CSC302S – Engineering Large Software Systems Nov 31, 2008 Prof. Steve Easterbrook Assignment 3: Requirements Analysis Due Date: 1:20pm, Thursday, November 17, 2008 (i.e. within 10 minutes of the start of the lecture) This assignment counts for 15% of the final grade Analyze the requirements for a new feature request for the JEdit application. You will need to select one of the new feature requests listed below. Your analysis will include a goal model to explore the user’s requirements, a domain model to map out the domain entities, and a set of use cases describing how the users will use the requested feature. Finally, you will complete a robustness analysis to explore how these use cases map onto the architecture of UML. You are not required to implement the new feature for this assignment (but will be doing so for the next assignment). The project is to be carried out in your assigned teams. Each team will submit one report. I. Doing the Assignment This assignment has 7 steps. They are: 1. Read the list of new feature requests provided on the next page. Check that you understand what each feature is. Ask your TA or the instructor if you need any user clarifications. 2. Select one of the listed features for the assignment. Use techniques you have learned in the course for estimating effort, assessing risk, and understanding customer priority to help you make the selection. You will be expected to defend you decision in the project write up. Note: you are strongly encouraged to investigate whether existing libraries and/or (open-source) implementations of any of the requested functionality can be re-used for your implementation. 3. Complete a requirements analysis for the selected feature. Your requirements analysis will identify why the user(s) want the requested feature, and will identify relevant assumptions about the problem domain. At the end of the analysis, you should have a detailed list of specific functions and quality requirements, along with a rationale for how the functions will allow the users to meet their goals. Make use of techniques such as domain modeling and goal modeling to help you complete this analysis. 4. Generate a detailed set of use cases for the selected feature. Create a use case diagram to give an overview of the set of use cases, and create individual descriptions for each use case, including pre- and post-conditions, exceptional behaviour, and alternative paths for each use case. Your use case descriptions should be written in a style that the users would understand, so that, for example, they could form the basis for a user manual. 5. Complete a robustness analysis for your use cases. Your robustness analysis should take into account the existing classes in the JEdit application, plus any new classes you need to create to implement the new feature. Use the robustness analysis to decide whether each requirement should map onto a new or an existing class.6. Write a report that describes the steps you went through to select and analyze the new feature request for JEdit. Be sure to document your development process, and comment on how well the process worked for you. 7. Document your teamwork and complete team member evaluation forms, using the online system on the course website. II. List of change requests You should select one from the following list of new feature requests (in no particular order): 1) Combine hypersearch and fold. When you do a hypersearch, instead of showing the results in another window, it folds the document, so that the only lines visible are the ones that contain a search result and the other lines are folded away. 2) Implement a feature to compare two files by using the split screen capability and aligning the documents so that when the same line occurs in the two documents this is indicated visually, as are added/deleted lines. Scrolling should cause both docs to scroll simultaneously 3) Implement a context sensitive macro menu. Currently the macros are only accessible from the main menu. Make them accessible from the context menu, and filtered according to which macros apply in that context. Allow each macro to decide for itself whether it is applicable to a context by allowing it to examine the document at the cursor point. 4) Dynamic folding for Java: when you are working on a particular method within a Java class, automatically fold away all code in the file that is not referenced by this method. For example, you only see data members and other methods used by the current method. As soon as you add a mention of (or remove mention of) another data member or method, that also becomes unfolded (folded). 5) Add the option to include additional context information in hypersearch results. When showing the results of a hypersearch, show the context of each search result by showing the first line of the folding level above it. For example, when searching for "feature", instead of hypersearch results like: 82:crawlfeature(left) 83:crawlfeature(right) 148:result.getFeatureLabel() We would get: 58: public void invoke(IModelOperatorInvocation instance) throws ModelException { 82:crawlfeature(left) 83:crawlfeature(right) 144:private void freshenResults() { 148:result.getFeatureLabel() III. What to Hand In Hand in your report at the start of your lecture on the due date. Reports not handed in within the first ten minutes of the lecture will be treated as late. The report should not exceed twenty (20) pages (not counting cover pages and appendices). All detailed diagrams should be included as appendices, but they should be summarized in the main body of the report, with enough commentary for the reader to understand what you did, and what the appendices show. Your submitted report should include the following items: 1. A brief description of the rationale for your choice of feature to implement. 2. A requirements analysis for the selected feature. Your analysis should clearly distinguish between user requirements (e.g. goals) and the specific functions to be implemented, and indicate any assumptions needed to ensure that these functions will indeed satisfy


View Full Document

Toronto CSC 302 - Requirements Analysis Assignment

Documents in this Course
Load more
Download Requirements Analysis Assignment
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Requirements Analysis Assignment and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Requirements Analysis Assignment 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?