Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Assignment Overview In the real-world, your job as a software engineer is to solve unsolved problems. Below, you will find details of a desired software

Assignment Overview

In the real-world, your job as a software engineer is to solve unsolved problems. Below, you will find details of a desired software application for which a solution does not yet exist. In Assignments 2, 3 and 4 therefore, each of which is closely related, you will apply the skills and knowledge you have acquired from the unit materials to model, build and present a prototype solution to fulfill a set of application specifications that have been provided to you.

To this end, you are to imagine that you run a small software engineering house that specialises in the development of Software as a Service (SaaS) web applications built on the ASP.Net/C#/SQL stack.

You have recently received an invitation from a potential client to design a prototype/proof-of-concept for a time tracking and client invoicing web application for small IT services companies that is to be named InvoiceIT if and when released. The InvoiceIT web application will allow users to record how much time they spend on specific tasks for a specific client and then generate invoices for specific clients based on nominated date ranges.

For speed of prototype development, you have decided to construct it as an ASP.NET Web Forms/C# project using Microsoft Visual Studio. Should you be successful in getting the development contract, you would probably opt to develop the full application based on ASP.NET Core MVC, but this option will not be used for the prototype.

The client has provided you with the following information:

1. A partial database schema and test data

2. A System Requirement Specification (SRS) and user role capabilities table

3. A listing of general systems requirements and business rules

Your prototype is to implement the functionality below:

Client Module:

This module will allow the Administrator role to manage clients within the system which includes adding, updating, deleting and viewing clients at the list and individual levels

The Client ID will also be required by the Work Item and Invoice modules [hint this suggests a number of relationships]

See Database Schema above for required fields

Task Module:

A Task is a particular service provided by the users of the InvoiceIT application.

You will find a list of sample tasks in the accompanying Excel file named table_data.xlsx that you will use to populate the Task table of the database

The Task ID will also be required by the Work Item module [hint this suggests a relationship]

See Database Schema above for required field

Work Item Module:

This contains all of the particulars of a specific task performed by a specific staff member for a specific client, the being:

Date (the work was done)

Start Time (24hr format)

End Time (24hr format)

Status (Paused, Ongoing, Completed, Discontinued)

Comment

The Work Item ID will also be required by several other modules in the system [hint this suggests a number of relationships]

Staff Member Module

This module will allow the Administrator role to manage staff within the system which includes adding, updating, deleting and viewing staff members at the list and individual levels

The Staff ID will also be required by the Work Item module [hint this suggests a relationship]

See Database Schema above for required fields

Invoice Module

This module will allow the Administrator role to generate, update, delete and view invoice according to a set of business rules.

An invoice requires the following information:

An invoice number

The business name of the recipient

The start date of the invoice line item period

The end date of the invoice line item period

The date the invoice was generated or updated

The date the invoice was sent

The date payment is dues

The status of the invoice (generated, sent, overdue, paid, withdrawn) Each line item must show:

The Work Item ID

The task performed

Total hours spent on that task

The staff member who performed the task

The Work Item's status

Prototype Functionality Business Rules and Role Access

The prototype is to implement the business rules in the table below, and restrict access to these by user role, also specified in the table. The system is to support two (2) user roles

: 1. Administrator Role (admin) - that can access all functionality and modules

2. Staff Role (staff) - that can access limited functionality and modules

Application Prototype Out-of-Scope Items

The prototype is not to include:

Invoice sending functionality

Invoice payment functionality

Client self-serve functionality

General System Requirements

Login, logout and session management procedures are to be implemented

Dates must appear in Australian format in the applications user interface (inputs/outputs)

All user inputs must be validated to match associated database fields Page 7 of 12

Database schema must be normalised to the 3rd normal form no many-to-many relationships are to exist; this means that you will need to identify and create at least one additional table not suggested above to resolve many-to-many relationships in the database design

The SQL database is to be named invit.mdf and reside with the App_Data folder of the applications project tree

The connection string to the SQL database must not use a hard-coded path to ensure the database connection is not compromised when project files are moved from one machine to another.

These are the diagram I want ( use draw.io)

Assignment 2: Application Design (PDF Document) - 20 marks

3. Two (2) Use Case Diagrams

4. Two (2) Class Diagrams

5. A full Object Relationship model

6. Two (2) Scenarios

7. Two (2) Sequence Diagrams

8. One (1) Form Design

this is the full quesion

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle 10g Database Administrator Implementation And Administration

Authors: Gavin Powell, Carol McCullough Dieter

2nd Edition

1418836656, 9781418836658

More Books

Students also viewed these Databases questions