Programming Sample Assignment
It is a java assignment. Its a desktop application and is not a web application. We need to use netbeans for the assignment. We cannot use database it should be completely object oriented using data structures. All the details are attached.
A) Intended Users of the System:
1) Product Manager:
This person has direct communication with the studio client and to the client is the sole entity responsible for the delivery of the project. For the system he is the one who manages and monitors the project progress. This user will be given the following permissions in the system:
- the status of all the assets
- Identify the location where all the assets would be placed
- who is responsible for delivering those assets
- assign QA task to the QC team
- all the bugs and their status
- change the priority of task and bugs
- assign different authoring tasks to different people
- Assign a bug to an author or to third party company
- Derive an asset in the vault and add it to the system
- Log progress of the report by looking at the status of various assets
- Define end date of QC task
- Define end date of asset/element or quick processing task
- Define the requirement for menus and navigational items as desired by the client and assign it to an author
2) Quality Control Tester:
This person processes the asset or an element or a quick to test its intended quality. This person will also be responsible for testing the final product and lodge bugs if errors are found. This user can do the following things in the system:
B) Use-cases Description:
- list of all the bugs raised even those raised by other testers
- change the priority of bugs
- add a bug to the list with its title, description, attachment if necessary and its priority
- assign bug to the Project Manager or may directly assign it to an author
- close the bug by marking its status as closed
Post production media workflow and analysis
- Review an individual post production project – This is the sole responsibility of the Project Manager. It involves:
- tracking of the status of assets
- tracking of the status of bugs
- tracking of the delivery of assets required by third party companies. With the tracking of these three things, a Project Manager would be able to identify the delivery date of the final product and will also be able to monitor its progress
Individual DVD disc projects from major studio clients are allocated to the post production company based on their capacity and the needs of the studio. Competitive tendering is not used at the level of these individual disc projects. The studio clients typically have long term relationships and contracts with the service providers such as the company. Some of these contracts include agreements to allocate a certain amount of work to the service provider.
When a studio requires a disc to be produced, they will typically define the project and allocate it to a service provider. The choice of provider may depend on many factors, including the studio's awareness of the capacity available from different providers, but clearly the quality of relationships between the provider and the commissioners within the studio will be critical. Within the company the role of project manager' is given to the staff who manage communications with customers and monitor project progress.
A DVD is made up from many assets of different types. Major assets groups are video assets, audio assets (including dubbing tracks), text assets in multiple languages (subtitles) and menus / navigational assets.
Video, audio and text assets are usually prepared outside of the company and delivered to them. Menu / Navigation assets may be authored in-house. Some assets will be available at the start of the project (typically the main feature video and audio assets), but others will require creation by various external agents. Examples are: Subtitles and foreign language audio from translation specialists, Bonus Features from the project client, sometimes menus are created by the project client, the client may also be required to deliver additional audio assets. The company in some cases create audio assets themselves.
All assets require a quality control check when they arrive so that any problems can be highlighted and fixed as early as possible. These 'element QC' checks may occur: when the original assets arrive from the client, or when commissioned assets such as foreign language audio and subtitles arrive from subcontractors. In order to perform element QC checks, it is usually necessary to mix the new asset with some existing asset (e.g. mixing a foreign language audio track with the video track). This new mix is called a 'quick'.
Much of the project manager work is concerned with:
- identifying the full set of assets required for a disc
- tracking who is responsible for delivering those assets
- communicating with these responsible parties
- monitoring status responses from those responsible individuals or companies
- monitoring the arrival of those assets into the company
- monitoring the passage of those assets through element QC
- monitoring the creation of menus, including regionalised menus
- forecasting the impact of any delays on project deadlines
- negotiating deadlines if delays occur
- prioritising between different projects/disks
It should be noted that different DVD disc projects may involve different splits between the activities of asset creation, authoring and QC. Internal monitoring Given the critical problem of handling large numbers of assets through multiple stages of preparation in order to produce the final product, status monitoring appears to be an important task for everyone in the business.
The company this is reflected by:
- Daily production meetings held at 11.00 attended by all the project co-ordinators, plus representatives from every department (producers, authors, QC, etc.)
- Major tools being constantly open on people's desktops - such as ComChoiceQC for the QC team and TitleStatus for the project co-ordinators and the production manager.
- Sharing of all e-mails between the project co-ordinators, with emails being filed by title (or by disk)
- Constant re-prioritisation of tasks. To the point that the relative priorities between discs can shift during the day and may need to be communicated through the business.
There are twice weekly telephone conferences are held with a major client to go through each of the disc-projects in turn to check what progress has been made and whether any problems can be foreseen. These conference calls are led by the commissioning client and include the project manager, but also equivalent staff at competitor companies. Thus the meetings provide some insight into the projects that have been allocated to competitors, as well as allowing competitors some insight into events at the company. It is therefore critical that the presentation of project status is managed closely. The project manager relies on the TitleStatus reports to guide reporting.
As well as these regular meetings, the project managers have frequent contact with staff within the client organisation to discuss progress and query developments. Managing the expectations of the client is an important element of this activity. In particular, when delivery of elements is delayed, or elements delivered are found to be below quality standards in some way, it is important to manage client expectations regarding delivery.
Managing capacity and workflow
A key part of the production process is Quality Control. Because the amount of time taken for QC is a normally a fixed multiple of the running time of the materials to be QC’d and because QC is always required close to disc delivery deadlines, peaks in demand put greatest stress on this area of work.
One way this can be adjusted is to maintain a reservoir freelance QC staff who can be offered work as and when it is required.
Use UML in the design and implementation of a media post production management system (mppms), together with a simulator that can be used to test your design. Some initial attempts at developing Use Cases, exploring the basic functionality that the mppms should demonstrate, are given in the appendices along with other supporting material.
In overview, the scenario we are currently asking you to design for is as follows.
Within a media post production, a specific post production project involves receiving and storing 'assets' for a product, combining them into elements that are of a required standard and finally combining those elements together to from the final product.
Assets are film content, audio tracks, subtitle text, subtitle images, menus, introduction sequences, extra features, commentaries and so forth. With the advent of Blue Ray, the company is also receiving more Java Code as assets to be included. Assets can be provided by the client, in other cases they are developed in house or commissioned from a third party. Assets can be ready to use in the final product or may require additional work or to be combined to form elements. The additional work may involve compressing video, combining video and audio, generating sub-title streams and so forth.
Assets and elements ready for use are combined together to form the final product. The generation of the final product involves bringing all the elements together in the correct format and further compression of the media. This can take a significant amount of time. This process in general involves a number of people in different roles focused around asset and element management, asset and element creation, quality assurance and management.
Quality assurance is very important, each asset or element is not ready for use unless it is quality approved and the final product is quality checked. Quality checking is a skilled human process involving viewing and reviewing assets, elements and the full product against an identified testing strategy. If at anytime errors from quality control need to be fixed, then the assets and/or element have to be recreated or re-built and this can take a significant amount of time and delay production as a whole. Some quality checking can involve third parties such as regional representatives approving subtitles and translations for their region.
Overall this process of production takes place in a post production company managing any number of titles at one time. Management is performed by a product manager who will normally have no more than 20 titles to manage at any one time. Timing and keeping on schedule is key to post production management, the client, normally a studio, has specific title release deadlines that they must keep to. The product manager has to report on progress to the client each week, providing an accurate account of the reason for any delays.
Security is also very important, clients need to be confident that they can trust post production to be reliable in managing assets and not let any details of a title become known before the release date.
Part I - Analysis and design
A user analysis and software design modelling the basic elements of the system covered by the use case model given in the appendix. This will be submitted in the form of a UML model (Class and Sequence diagrams + use case descriptions) and a short written report . All members of your group are required to attend this presentation.
The submitted work must include the following:
Part II – Implementation
- A brief description of a product manager and quality control tester as the intended users of the system and suitable user profiles for them.
- A detailed specification of the following use-cases: ‘Review an individual post production project’ and ‘Carry Out QA Test"
- A Class diagram identifying all the classes and the most important methods you believe to be relevant for the design of this system. You must also provide a set of CRC cards describing 5 of the most important classes you identify (you should also indicate why you have selected these as the most important classes)
- Sequence diagrams that explain the detail of your intended implementation for the use cases: 'Select QA Task' and ‘Carry Out QATest' and 'Review an individual post production project'
- Consistency between the class diagrams and sequence diagrams [5 marks]
- A project report describing your intentions for the implementation of your design. This must include:
- A blog/diary recording and tracking the development of your model and
- a plan showing how you will allocate roles within the development project and the responsibility for initial development of the classes you have identified between group members; the schedule for development (e.g. initial class development, module testing, integration testing); and the allocation of key responsibilities (e.g. test case preparation, testing, documentation).
- overall quality of presentation
- The UML model may be developed using any appropriate software that is available in the university computer labs. We recommend the use of Borland’s Together software.
An implementation of design in Java. For this part of the assignment you will be required to demonstrate your software at a planned session shortly after the submission deadline. At the demonstration each individual group member will be expected to answer questions about the implementation of one specific use-case within the design. implementation should include working user interfaces to support the sys admin, product manager and QA Tester's work and those interfaces should clearly demonstrate application of appropriate usability techniques.
the implementation will be awarded for:
- extent (ie how much functionality is provided)
- quality (ie robustness) and
- appropriate use of OO techniques
Use of standard, simple patterns, good documentation and commenting, a design that is flexible if faced with changes in requirements such as different types of assets?
demonstration of independent thought such as implementing additional features which significantly enhance the application (eg DB connectivity) or using patterns which have not been fully explored within the module.
Part III - User Interface Development
- source code/project
- a class diagram of your implemented system
- sequence diagrams for your implementation for the use cases: 'Select QA Task' and ‘Carry Out QATest' and 'Review an individual post production project' and
- a diary/blog tracking the development process, clearly identifying how the system was developed and the roles, responsibilities and achievements of each member of the group.
A design and implementation of the UI interface developed in the implementation section.
A report that includes:
- The description, identification and justification of a number of Interaction Design patterns most relevant for the case study user interface. The justification must be based upon a supporting the product manager's activity, tasks and goals.
- Conceptual design and sketches illustrating how specific design patterns could be realised in the user interface for the product managers tool.
- A discussion of how the user interface differs to that developed in the implementation section.
- An implementation or prototype of the improved user interface. This will be assessed by a walkthrough / demonstration illustrating the valid use of the proposed patterns.