V4 Digital Broadcasting System
From SoftwarePractice.org
Overview
Radio and Audio Technologies Ltd (RAT) is looking to produce a new, complete customisable “off-the-shelf” digital broadcasting studio.
It contains the following functional components:
- A Digital Audio Processing System
- Configurable
- Multiple audio channels
- Audio Processing Functions
- A Command and Control System
- Where configuration takes place
- Web interface and standard console interface
Team Members and Guidelines can be found here.
System Narrative
Radio and Audio Technologies Ltd (RAT) is an established provider of digital audio technology to the recording and broadcasting industries. Up until now, their equipment has been integrated with many other brands of equipment in any given installation, but RAT is now seeking to produce a breakthrough product for smaller radio stations, a complete "off-the-shelf" digital broadcasting studio.
Based on discussions with potential customers, RAT has decided that the system consists of two parts. The first is a digital audio processing system, configurable with from 8 to 24 audio channels. Each channel selects from a range of sources, including CD players, microphones and voice (telephone) circuits, and digital storage media, and is able to perform a standard set of audio processing functions, such as parametric equalization, gain, and panning between two output channels. Additional processing, such as compression and noise reduction, needs to be able to be “patched" into specific input or output channels, with the number of such processing modules determined by the amount of processing power the customer buys.
The second part is the command and control system, which the operator uses to configure most of the operation of the studio. This comes in different flavours, with the lowest-cost option being fully virtual, with all controls implemented on standard PC hardware. Although many recording studios won't buy digital processing unless it has knobs on it, RAT figures that for this product, cash-pressed radio stations will accept touch-screens as a compromise. However, RAT's standard user interface hardware will also be available for customers that can afford it. They expect to produce a mixture of configurations with varying degrees of physical hardware and screens for display and visualization.
As always, RAT want to make sure that this product lives up to the reputation they have established for themselves, that of good-sounding digital equipment that does the job and doesn't break. They need the product to be competitive, but any corners that are cut that cause the product to fail while “live" will severely damage their other markets as well. They are also acutely aware that customer expectations include 24-hour remote access to the system, both through a web interface and a more sophisticated interface that allows a subset of the full RAT control, editing, and signal processing functionality. They have hired you to lead the architectural team for the rest of the Inception phase and the Elaboration phase of this project, with a commitment to keeping you on as project leader(s) if Construction goes ahead.
As a last-minute wrinkle, RAT inform you the day before delivering the contract that they also want to re-use significant elements of this new architecture across a whole new product line, which includes digital audio storage and processing for the film industry, and storage and analysis of security (audio) tapes in large complex installations such as banks and airports.
Stakeholder Analysis
List of Stakeholders
- Radio Presenters
- Listeners
- Developers
- Radio Program Manager
- Advertisers
- Technicians
- Station Management
- Song Artists
- Radio Regulators
Stakeholder Identification
| Stakeholder | Radio Presenters |
|---|---|
| Characteristics | Radio Presenters control content being presented to the public.
Presenters should know about switching inputs/outputs from their current broadcasting system. |
| Nature of Interest | The product has the opportunity to enhance their radio programs.
Ensure that they are being heard clearly over the airwaves. Have a broad range of input channels available to them to allow greater levels of creativity and flexibility. |
| Benefits to Stakeholder | Product should make listening to their program more enjoyable, from a sound quality standpoint.
Will be able to control inputs/outputs more efficiently than their current system. Greater flexibility in creation of radio program due to range of inputs available. Chance to increase listenership. |
| Stakeholder | Listeners |
|---|---|
| Characteristics | Broad section of the community.
Virtually anyone can be a listener of a radio station. |
| Nature of Interest | Wants to hear quality sounding radio programs.
Ultimately, have final say in viability of a radio station / radio program. If there are no listeners, there is no advertising. |
| Benefits to Stakeholder | Better sounding radio programs.
Chance of higher interaction with Radio Station. |
| Stakeholder | Advertisers |
|---|---|
| Characteristics | Provide radio stations with money, to play advertisements.
Advertisers are a radio stations’ main source of revenue. |
| Nature of Interest | Ensure that the product can adequately play their adverts.
Ensure that the adverts are easily playable by the radio presenter. |
| Benefits to Stakeholder | May facilitate the playing of more adverts.
May boost a stations’ listenership, thus increasing the amount of people listening to their adverts. |
| Stakeholder | Radio Station Management |
|---|---|
| Characteristics | Able to hire/fire radio presenters.
Manage advertising for station. Try to gain sponsors for their radio programs. Make funding decisions concerning which system to purchase. |
| Nature of Interest | Want to ensure that their radio presenters are presenting quality sounding radio programs.
Want to ensure that advertisers will like the new system. |
| Benefits to Stakeholder | May facilitate the playing of more adverts.
May boost a stations’ listenership, thus increasing the amount of money advertisers will be willing to pay. This could also lead to more advertisers wishing to have their adverts played on the station. |
| Stakeholder | Developers |
|---|---|
| Characteristics | Developers are in control of the way that the program is designed.
They aim to produce a system that meets the customers requirements. |
| Nature of Interest | The product has the potential to enhance the image of their company.
The developers want to write maintainable code. |
| Benefits to Stakeholder | Product should sell well and raise the profile and image of their company.
Maintainable code makes support work easier for the develpoers. |
| Stakeholder | Radio Program Manager |
|---|---|
| Characteristics | Program Manager's are in charge of organising radio programs. They
do not directly control what is played on the radio. |
| Nature of Interest | They are responsible for the success of the radio show. Thus they
want their radio show to sound good. |
| Benefits to Stakeholder | They benefit from having a good sounding radio show. |
| Stakeholder | Technicians |
|---|---|
| Characteristics | Are responsible for keeping the radio stations technical equipment running and in good repair. |
| Nature of Interest | Their job means that they have an interest in the stability and configurability of the system. |
| Benefits to Stakeholder | A good product will make the technicians work easier by not requiring high levels of maintenance, and being easy to repair if things do go wrong. |
| Stakeholder | Song Artists |
|---|---|
| Characteristics | Record the music that radio stations play to attract listeners. |
| Nature of Interest | They like to hear their music on the radio. |
| Benefits to Stakeholder | They gain exposure through having their music sound good on the radio.
Having excerpts of their music played during promotional sections is good for the artists. |
| Stakeholder | Regulators |
|---|---|
| Characteristics | Usually a government agency e.g. ACMA (Australian Communications and Media Authority)
Created to ensure all relevent regulations are being adhered to |
| Nature of Interest | Make sure that all standards and regulations are being followed |
| Benefits to Stakeholder | May make processing complaints and legal action concerning the radio station easier - especially if the system is able to store a copy of all broadcast material. |
Narratives / Personas
Radio Presenters
Billy Joe
Billy has been working at 56.8WXer, a local radio station, for two years now. Although he used to find working at the station extremely frustrating, he now really enjoys his work.
The old broadcasting system he used to be required to use was a constant cause of frustration. Old and antiquated, with knobs barely still attached, the system was hardly able to fulfill his disc jockey desires.
A completely new system is what Billy wanted, and that is what management decided to get him. Although he does prefer to turn knobs to get the required output, he does not mind using the touch-screen model the station decided on getting. Billy likes the fact that the system is able to be easily controlled, with clear labels of what certain controls do.
Being able to quickly and easily switch input focus is something that Billy loves about the system. Fading in a song, while he is talking is one of Billy's favourite things in the world, ever. This technique requires at least two inputs playing simulateously, something which the old system found difficult to do.
Billy plugs in multiple input components, most important of which is a record player, and experiments with his music - so he can sound just like Grand Wizard Theodore.
Summary of Billy's Needs and Expectations
- Updated HMI
- User Friendly HMI
- Concurrent Audio Processing
- Adjusting Sound Levels
Listeners
Janine
Janine has been finding life very tedious lately. Her husband is always at work, and when he eventually gets home he is too tired to fulfill her needs. She spends day after day after monotonous day washing, ironing and watching mind-numbing soaps on television.
On one of these dreary Tuesdays, she decides to try something a little different. Janine walks towards the expensive entertainment setup – one of the many artifacts her husband has bought, yet is never home to use. She switches on the unit and tentatively turns the dial to one of the local stations.
From that first moment of pure listening ecstasy, Janine is taken aback by the plethora of sounds flowing from those pompous speakers. She sits in awe, as sounds after mixed sounds wash over her like salmon swimming upstream in the Canadian Rockies. She doesn’t even mind that the radio presenter is talking over the first couple of seconds of her favourite song; These boots are made for walkin’, sung by Billy Ray Cyrus.
Janine's husband then walks through the front door, and sees his beloved enthralled by the radio. He hates to see her happy. She ruined his life; that one drunken night was a mistake. And he will be paying for that mistake for the rest of his life. All the rage he had built up at work comes spiraling out of his mouth. "I forbid you to touch my Entertainment unit, woman!" There, set her straight, he thinks, and walks into the bedroom muttering to himself "Pay for everything in here..."
Later that night, Janine starts tossing and turning in bed, upset by the day's procedings. "How dare he tell me what i can and can't touch in MY house. He would still be a sleazy toothbrush salesman if it wasn't for me!", she thinks. Resolving to show him, and still in awe of the quality radio she heard during the day, Janine queitly slips out of bed. She tip-toes down the hall, being careful not to wake anyone. Finally, she's in the living room, standing face to face with the massive entertainment unit. Janine switches it on.
But there is only silence. Janine checks the frequency settings and notices that her husband had been listening to du-NCE radio, probably listening to a dreadful NRL program. "Now AFL is a game everyone can enjoy, rugby league is for ignoramaces and the not-so-well-endowed" thinks Janine, as she then begins to wonder why nothing is coming through. Must have had an error, she decides, and turns the dial to the local radio she was listening to earlier that day. Unbeknownst to Janine, the local radio station had also encountered an error.
Yet the radio station is still broadcasting. Sure, it's "Go Your Own Way" from Fleetwood Mac's historic thirteenth album, Rumours, but it's something. And Janine actually likes that catchy little number, it gets her feet moving. Janine turns the volume all the way up and starts doing her special version of dancing, flailing wildly all about the place. She's not worried about waking her husband. He would have died hours ago from the rat poison she put in his late-night chocolate milk.
Summary of Janine's Needs and Expectations
- Smooth Audio Processing with quality broadcasting
- Concurrent Audio Processing
- Reliable system that operates 24/7 despite of faults
Developers
George
George is a software manager at RATS who has been put in charge of overseeing the digital broadcasting system project. George expects that for every requirement that is derived, sufficient Objective Quality Evidence, through a various set of test events exists such that the requirement has been verified and validated. George will use this information to get the digital broadcasting system verified and validated by the radio station such that RATS can be paid for their work.
George is responsible for establishing style guides, templates, policies and procedures to ensure that all work is of the same standard, it is reviewed for errors and it is aligned with the company vision. George has to do this in conjunction with his role as a mentor to other staff members.
George has been made personally responsible for all his teams work and to ensure that at the end of the day the customer, i.e. the radio station is happy with the final delivered product. For this to happen, George expects his staff to provide metrics and regular progress reports so he can compare it to his schedule.
Summary of George's Needs and Expectations
- Staff adhere to policies, procedures, style guides and use templates
- Radio Station cooperates with RATS
- Schedule is created and agreed upon
- COTS system works
- Progress Reports
- Staff is qualified
- Verification Plan
- Test Plan
- Test Procedures
- Test Reports (Objective Quality Evidence)
- Quality Reviews undertaken
- Professionalism from customer and staff
Advertisers
Mark
Mark has been the head of Abelifitz Advertising for two years. Unmarried, yet with two little children at home, life hasn't turned out for him as planned. However, his work is the one area in which he is proud.
Giving his clients the exposure they require is something he strives for; and has been very successful at. For this reason, Abelifitz has grown during his sterling leadership - becoming the leading Advertiser for burn-ointment companies.
Radio is an extremely important medium for Mark and his company. He has found that it is much more effective than television, people will usually mute the television but not the radio. Thus, it is critical that Mark's message is well received by the audience.
Summary of Mark's Needs and Expectations
- System that simply works
- Crystal Clear broadcasting
Station Management
Luigi
"Heya Luigi, can I hava da Pizza" called the waiter. That was the last straw for Luigi. He decided to give up his job as a Pizza Maker to enter the crime business.
Luigi sells his Pizzeria and uses the equity to purchase a small radio station and use that as his headquarters. He wants to upgrade to a digital broadcasting system so he can use the radio station as a way of directing his crime family to certain locations to undertake "garbage disposal".
Luigi needs the system to be reliable such that he could notify his gangstas of a job at any time of the day. Luigi also needs to be able to switch between input devices so he can quickly mask his racketeering business and keep the cops off his trail.
His gangsters also need to be able to remotely login to the system and provide feedback to Luigi on the progress of the current "garbage disposal" job. Luigi wants this connection to be available through the internet and secured such that it will be hard for the "people" to prosecute Luigi if his business was to be known.
Summary of Luigi's Needs and Expectations
- Digital Broadcasting Equipment
- Wide Coverage
- Multiple input and output devices that can work concurrently
- Reliable system that operates 24/7
- Fast switching between input devices
- Secure web access
- Configurable
Technicians
Le Bond James
Le Bond James is visiting family over in Brussels, France. As he is about to finish his last escargot he receives a phone call from John Smith, the station manager at the radio station he works for. John notifies Le Bond James that the sound output sounds flat and needs to be equalized. Le Bond James logs onto the consoles through from his mobile phone and changes the sound levels (i.e. equalising the sound).
He calls John back to tell him to test out the levels. John still isn't happy about it. Le Bond James decide he will keep tweaking it from his mobile phone until John is satisfied with the final output. By the time John is happy with the levels his souffle has arrived.
Summary of Le Bond James' Needs and Expectations
- Digital Equalisation
- Remote Web Access
- Multiple browser support
- Configurable
Program Manager
Rodger
Rodger is the Program Manager of 2cf local radio. He in interested in the digital broadcasting system because of the potential for it to make his job, and the job of his presenters, easier. He can use the statistics to determine how many times certain songs have been played for royalty purposes, and how often each ad has been played for charging advertisers. The web interface also provides opportunities for Rodger. He can use it to work from home; allow presenters to be in remote locations and generally make the system more accessible. These factors all contribute to making Rodger's job easier, reducing his stress levels, and allowing him to enjoy life more.
Summary of Rodger's Needs and Expectations
- Easy to use
- Generate statistics and metrics reports
- Remote Web Access
- Configurable
Song Artists
O-Kay
O-Kay ZedZed BD-Ray has finally secured a recording deal for his first album, Rap Clap Trap. Combining the smooth easy-listening sounds of jazz with the coarse, wild wobblings of rap, O-Kay has created his own special form of music.
The most important thing for the Kay-Dog, apart from millions of dollars in royalties from the movie to be made about his life, is that his jiving sounds are heard correctly by the world. Radio is still the medium of choice for music promotion, and as such, artists like O-Kay like their music to be easily played with a good sound quality.
Summary of O-Kay's Needs and Expectations
- Sound Quality - Digital Audio Processing
- Reliability - the integrity of the sound should be maintained for the duration of time in which the system is operational.
Radio Regulators
Joseph
Joseph Stalling has been working for the Australian Communications and Media Authority (ACMA) for 22 years now, and has seen every trick in the book.
He likes the new broadcasting system brought out by RATS, due to its automatic backing up of material played on the air. This has ensured that any complaints made against a radio station using the RATS system have been easy to process. Sure he's scared of loosing his job, but he thinks he's pretty safe, especially since George downstairs is a completely incompetent fool. If Joseph was boss, he would have purged him from the department years ago. Hopefully this new broadcasting studio will do that job for him.
Summary of Joesph's Needs and Expectations
- Automatic data logging system to record content played on air
- Integrity of content recorded onto the storage device
Stakeholder Ratings
- Numerical Scale
- 0 – No ability to promote or impede
- 5 – Significant ability to promote or impede
| Stakeholder | Promote 0-5 | Impede 0-5 | Comment |
|---|---|---|---|
| Radio Presenters | 5 | 4 | Able to significantly promote or impede product, as they will be the end-users.
Promote: By enthusiastically using all it's features and recomending it to other presenters. Impede: Refuse to use the new system, or advise against it. |
| Listeners | 1 | 2 | Individual listeners have little effect on the system, but as a group they can impede the system (by complaining about bad quality radio). |
| Developers | 3 | 3 | Developers can promote the product well; however they can also impede it as they can simply halt work. |
| Radio Program Managers | 2 | 2 | Program manager doesn’t directly use the system. |
| Advertisers | 2 | 2 | Tied to listeners; should listeners impede or promote, advertisers are expected to follow suit. |
| Technicians | 5 | 4 | Technicians need intricate internal knowledge of the system, for configuration and maintenance.
They will have a big input into the use of the system. Can promote or impede by their recommendation or not of the system. Should their recommendation not be listened to, they can immaturely mess with output figures, and lead to the radio station scrapping the system. |
| Station Management | 3 | 5 | Station management approve or disapprove funding for the system.
I.E - Impede by not funding the system. Promote by funding the system. |
| Song Artists | 0 | 0 | Care for how their material is presented, however they have very little control over the project. |
| Radio Regulators | 1 | 4 | Could possibly promote the system by offering it as an example of a good system.
Could impede by saying that the system is not up to it's standard, or could bring in new regulations that the system is not prepared for. |
From these ratings, we have decided to omit (Song Artists, Advertisers, Program Managers, Listeners and Radio Regulators) from further stakeholder analysis as they have minimal influence on the project.
Stakeholder Features
Radio Presenters
- Panning between two output channels
- Selecting a range of sources – digital storage media, voice (telephone) circuits, CD players, microphones, etc
- 24-hour remote access – web interface and a more sophisticated interface
- Changing source output volumes
Technicians
- Adding and removing audio sources and destinations
- Configuring the processing and analysis units
- Remotely viewing diagnostic information, and fixing problems and issues
- Automatic system recovery in the event of a failure
Developers
- Elements of a Hard Real Time System
- Multiple interfaces
- Upgradeablity
Station Management
- System running 24/7
- 24-hour remote access – web interface and a more sophisticated interface
- Ability to upgrade and add functionality
Key Contextual Factors
Market/competitive
| Description | Risk? | Constraints? | Enabler? |
|---|---|---|---|
| Cheaper COTS technology is released | Y | N | N |
| Move away from Radio into handheld audio players (IPod, Mp3) | Y | N | N |
| There is a niche market. Most large radio stations would already have some sort of software based system. The niche market would consist of small to medium sized radio stations that are using old outdated systems to broadcast their radio feeds. | N | N | Y |
| Radio claims that more time spent listening to the radio (in a car) then watching TV | N | N | Y |
As a whole the market and competitive nature of the digital broadcasting system is quite favourable. To any project there is always a risk of cheaper technology being introduced, hence competing with your system. Similarly the trends of people can not really be controlled by the project, hence you cannot determine whether people are going to use handheld audio players over radios.
As a positive, the market is quite a niche market with very little competition. RATS has a competitive advantage as an entrant to this market such that it can provide a system that complies with the most recent technology whereas other systems might not be able to compete.
Trends show that radio advertising is more effective than television advertising with respect to price vs audience. This means that more radio stations will look to digitalise their systems providing plenty of work for RATS.
Organisational
| Description | Risk? | Constraints? | Enabler? |
|---|---|---|---|
| The technicians, radio presenters and station management will all need to be re-trained on how to use this system. This is due to the fundamental change from a hardware based system to a software based system where everything can be controlled from a single console rather than several. | Y | Y | Y |
| Must provide restricted access to web interface | N | Y | Y |
| Funding | Y | Y | N |
| Relocation of offices or reorganisation of office space | Y | N | N |
| Change in management | Y | N | N |
The organisational factors of the digital broadcasting systems is quite against the projects success. This is to be expected when moving from a analog system based on several embedded systems interfacing with each other to a fully digitalised system that handles the processing centrally. This will always result in the retraining of staff members for the use of the new system on how to operate the web and local consoles.
Similarly with any project there is always a chance that management will change who may not be in favour of this project and decide to scrap it. This might also result in a change in funding which can also inhibit the project. Another organisational factor worth considering is the relocation of offices. The digital broadcasting system highly depends on the density of system and where the clusters of people live. Trends show that the official centre of Sydney (population wise) is now Parramatta meaning that a radio station previously based in North Sydney might relocate to Parramatta to reach a wider audience. This can only mean that the system must be able to be easily moved without too many problems
Technological
| Description | Risk? | Constraints? | Enabler? |
|---|---|---|---|
| New Technology that doesn’t use standardised ports | Y | Y | N |
| Fairly new area of development, i.e. pioneers in the field | Y | N | N |
| Must meet Real Time Requirements | N | Y | Y |
| Processing for many components can be performed at a hardware level in an embedded environment | N | N | Y |
| Ability to increase functionality with web interface as web technologies expand component based system meaning cohesion is high and a component of the system can be replace as long as it meets interface specifications | N | N | Y |
| Environment, some electronic devices such as antennae might not work effectively in the required environment | N | Y | N |
| Forwards Compatibility | N | Y | N |
| Backwards Compatibility | N | Y | Y |
Technology will only ever change for the better. There will always be components that are cheaper, smaller and perform better. The problem will occur when devices start using non standardised ports. This will mean that it cannot be integrated into the digital broadcasting system which might cause customers to look for another solution.
From a skills point of view, the project is fairly unique meaning that there might not be much help available on this sort of system. This means that money will have to be spent on research and development to get the system operational the first time around.
The introduction of faster CPU's and larger memory makes it easier for the program to meet real time requirements. If a system can perform the same function by faster then it can only be good for the system. However, in this case an issue might arise such that the CPU will be processing data faster then the play-time rate meaning the processed audio will have to be stored in large banks of RAM to be read and played on demand.
The forwards and backwards compatibility issues occur in any system. Backwards compatibility in this system is important and is not much of an issue as the audio industry have kept interfaces and connections standardised over a lengthy period of time. The forwards compatibility depends on how technology evolves over time.
Policy
| Description | Risk? | Constraints? | Enabler? |
|---|---|---|---|
| Government Regulations on content controlled by the system as well as new legislation's governing safety, security, etc. | Y | Y | N |
| Increasing Security Threats | Y | Y | N |
| The legal implications of such an implementation are beneficial to the radio station. The digital broadcasting system has the ability to record the processed data to provide a recording if any legal issue arises. | N | N | Y |
| Change in Radio Broadcasting License conditions | Y | Y | N |
Government and local policy will restrict the systems ability to perform its functions. For example government regulation on content and licensing can change quite rapidly meaning that the RATS digital broadcasting system should have enough flexibility to be able to handle any changes. For example, the federal government might impose a restriction that all content broadcasted on the radio shall be recorded and kept for at least 10 years. This means that the RATS digital broadcasting system shall provide for this.
In this day and age, people are becoming more capable of malicious attacks on systems. This increasing security threat needs to be addressed by the digital broadcasting system as security holes need to be fixed if they are identified.
Quality Attributes
Quality Attributes Rating
The following matrix shows the importance of a particular Quality attribute relative to each stakeholder. All attributes are given a ranking by each stakeholder of between 1-9; with 1 being the most important and 9 being the least.
The totals indicate importance of each quality attribute. A lower number indicates a higher-valued attribute.
| Radio Presenters | Developers | Technicians | Station Management | Totals | |
|---|---|---|---|---|---|
| Availability | 4 | 9 | 4 | 2 | 19 |
| Modifiability | 7 | 1 | 9 | 9 | 26 |
| Performance | 3 | 7 | 6 | 3 | 19 |
| Security | 6 | 6 | 3 | 5 | 20 |
| Testability | 9 | 2 | 7 | 7 | 25 |
| Useability | 1 | 8 | 2 | 4 | 15 |
| Reliability | 2 | 5 | 5 | 1 | 13 |
| Reusability | 8 | 3 | 8 | 8 | 27 |
| Configurability | 5 | 4 | 1 | 6 | 16 |
The following matrix shows the importance of a particular quality attribute relative to each stakeholder. All stakeholders have been given $10 to spend on the different quality attributes.
The totals indicate the importance of each quality attribute.
| Radio Presenters | Developers | Technicians | Station Management | Totals | |
|---|---|---|---|---|---|
| Availability | - | - | $2 | $3 | $5 |
| Modifiability | - | $4 | - | - | $4 |
| Performance | $2 | - | - | $3 | $5 |
| Security | - | - | $2 | - | $2 |
| Testability | - | $3 | - | - | $3 |
| Useability | $5 | - | $3 | - | $8 |
| Reliability | $3 | - | - | $4 | $7 |
| Reusability | - | $2 | - | - | $2 |
| Configurability | - | $1 | $3 | - | $4 |
Quality Narratives
Performance
PT-Coolio is a DJ for his local radio station, SU-DO(84.5). PT-Coolio loves mixing and creating really experimental music, and thus requires a large amount of inputs into his broadcasting system. He loves the fact that the RATS system is able to handle 24 inputs at one time, and mix them all together. He expects the RATS system to be able to seamlessly switch (within 100ms) between channels.
He is impressed by the RATS that it can handle all of the inputs simultaneously without delay or jitter. PT-Coolio can also output the music masterpiece he is creating onto 2 output channels, while also having it being saved on disk, and the system will still run smoothly with no delay or jitter. The saved copy of his work will undoubtable come in handy when he releases his new album, "The Cooly Coolio that's PT-Coolio : Music From Another Dimension", later this year.
PT is not a patient man. He cannot stand when things do not listen to him and comply with his way. PT expects that if the system takes longer than expected then he is notified of a message as long as it doesn't affect the mission critical components of the system such as the audio processing streams. He often gets frustrated and resets the system. He expects that the system will return to normal operating state within 1 minute of pressing the reset button.
PT expects that when he goes back to listen to the song on the album "The Cooly Coolio that's PT-Coolio : Music From Another Dimension", he can find and retrieve it within 10 seconds.
Summary of Key Performance Requirements
- System can handle 24 inputs without overloading the CPU, i.e. such that it shouldn't use 100% of the CPU.
- No "Jitter" [Ability for a Real Time System to meet scheduling requirements whilst streaming media] or delay.
- System shall be able to perform concurrent read/writes to the disk without delay
- Handle two output channels concurrently
- Search and retrieve audio within 10 seconds
- Switch channels in 100ms or less
- 1 minute to reset
Usability
Sally is the radio presenter for the Up Late show on 2cf local radio. As she needs to stay awake late at night to run her show, she wants the system to be easy to use. When it is nearing the end of her show, she is very tired and doesn't want to have to think too hard about using the system. It should be easy enough that Sally can concentrate on quality presenting, and not on controlling the system. The system's confirmation procedures are beneficial when Sally is in this tired state. The system only asks for confirmation, via a dialog box, when a user is editing or enabling critical components (e.g. equilisation levels and the reset system function). Sally likes using metaphors to represent workflows, such as a virtual mixing board and connecting virtual 'wires' from inputs to outputs. She finds that relating the workflow in the system to a real or physical workflow makes the system easier to use.
Summary of Key Usability Requirements
- Easy to use HMI
- Dialog box messages for critical sections
- Provide a simulation type environment to display physical connections and modifications.
Reliability
Rose Budd, the station manager at 2cf local radio used to be concerned with 'dead air' (time when the station is unintentionally transmitting silence). Well not anymore, thanks to her latest purchase: the RATS digital broadcasting studio. This new studio can detect when an error occurs and will automatically try and correct itself. Should this not fix the problem, then the system can be quickly and easily reset, and will play a default song during it's reset procedure so as not to cause silence. The default song, as well as the default volume level can be set by the technician at any time when the system is working properly. This system meets all of Rose's needs when it comes to creating a quality radio station.
Rose is also concerned what will happen if the power is suddenly cut. RATS has recommended that the Digital Broadcasting System be placed on an UPS such that power spikes, power outage and other problems associated with system failure due to power loss is kept to a minimum.
Rose worries about component failure and keeps extra microphones, cd players, etc on hand just in case something fails. Rose expects that the system can easily swap components by using standardised COTS hardware.
Summary of Reliability Requirements
- Degraded system shall be able to perform basic functions
- Reset whilst maintaining partial functionality
- Self Diagnostic testing to determine errors and fix them on the fly
- Runs on UPS
- Standardised COTS hardware
Usage Narratives
Station Management
Remote Check-up
Michael is a station manager for bablitek 881 radio. He has recently purchased a RATS digital broadcasting studio.
While away from the office he decides that he would like to peek in on what is currently playing on his radio station.
Unfortunately, Barbados is out of their radio transmitters range. Michael therefore decides that he will log on to the secure web interface and have a look at the current state of the system.
Advertisement Recording
Peter, the station manager of "The Edge" radio station, is overseeing the new radio show set to take the public by storm. This new show, called "It's impossible to be unhappy in a poncho", will feature mexican dance music for the new millenium. However, the talk on the street about this radio program is quite dismissive.
Peter decides to record an advertisement for the new show, so that it can be played on the radio to generate some buzz. He uses the RATS digital broadcasting studio to record the advert, using multiple channels and audio processing in order create an advertising master piece. The advert he creates is saved on the radio station's storage medium, so that it can be easily accessed and played by his various radio presenters during their shows.
Technicians
Processing Values
George is an experienced technician at WTF radio, Alice Springs, and really likes his job. Even though times look like they are going to get tough, George feels secure in his job, as this station could not run to the high standards he has follwed.
A Radio Presenter, Micky, noticed that some of the sounds didn't come through right on his last shift and has asked George to look at the processing values. George logs into the system while at work and fiddles with some of the values, namely gain and equalisation. He then orders some audio through the system to analyse the output, and thus see the result of his changes. This is to ensure that the changes he has made are correct, and to keep his reputation as the best radio technician this side of the range intact.
Output Channels
George, the technician from WTF radio, is asked by the radio presenter (Nathaniel) to change the output channels for his show.
George logs into the system via one of the user consoles and edits the output channel options. He is able to display the changes that have taken place, to ensure that the changes are correct.
Remote Configuration
John has been working as a technician for bablitek 881 radio for 10 years now, and has used his long service leave to take his wife and kids on a holiday. While he is away, the stations new RATS digital broadcasting studio goes down and he gets an urgent phone call from work, with his boss saying that he needs to get the problem fixed asap.
John is able to make use of the new system's secure web interface to fix the configuration settings and get the system up and running again from the comfort of his hotel room.
Interface
Julian has just come out of retirement to work for a radio station. Back in his day everything was done using a standard mixing table. He was familiar with this technology and didnt want to change. John, a younger technician was given the task of training Julian in using the new system. Julian fought him in every way but secretly quite liked the new system. He no longer needs to battle with rusty old knobs to adjust the levels. Julian likes the fact that he still has the ability to make the same amount of adjustments but in a simpler way.
Radio Presenters
Setup Check
Shirley is a presenter for a local radio station in Broken Hill, and is set to go on air in 20 minutes. She would like to check that the microphone and phone lines are correctly enabled as input channels into the system. She performs the correct checks to make sure that they are setup properly.
Mixing Inputs
Mary-Lou, the presenter for the breakfast show on Wagga's local radio station, has just learnt how to use the new Audio system. She wants to experiment with the settings during her show.
Before she begins to play a song she enables both the CD input and the microphone input. She sets the system to mix both inputs, with the microphone being louder. While the intro for the song is playing, she introduces it to the audience.
Once she has finished the introduction, she sets the system to slowly fade the microphone out, and fade the CD up to full volume. She likes the fact that getting the new system to do this is so much easier than doing it manually.
Finding Audio
Path E-Tech radio's newest presenter, Charlie Chompa, wishes to play a song for his ad-free-50 program. The main problem is that he is not sure which device the song is on. He sends out the command, gets the audio, and plays it through.
Playing Stored Audio
Charlie, the radio presenter from Path E-Tech radio, wishes to play an advertisement. The ad was recorded the day earlier, and is stored on the radio's storage media. He passes the advert as input, sends the audio through the system, and diverts it on to one of the output channels.
Connecting New Inputs
Anita Bath is the host of POWERFM's morning show. She gets a special song request for Coolio, Gangta's Paradise. She searches through the radio station database but cant seem to find any songs from Coolio. She remembers that she has that song on her IPod. Anita decides she would get assistance from the technician and satisfy the callers request by connecting her IPod to the Digital Broadcasting System.
She likes the fact that the Digital Broadcasting System can handle multiple devices and can be configured post installation.
Developers
Testing
Gerald is a developer working on the RATS broadcasting software. His manager has asked him to fix a bug that one of his companies clients has found in the RATS system. He's been working on fixing this all week, and wants to go out on friday night, but is stuck at work trying to confirm that the system works properly. He finds himself wishing that there were betting testing procedures in place to help confirm that his fix works, and also to stop bugs like this not getting found before the system is released.
Debugging
While technician Maya Butricks is configuring the Digital Broadcasting System for the ad free hour, she notices that the some of the buttons on the consoles do not work as specified. Maya decides to raise a problem report and contacts Robert, the software developer for assistance. Robert tells Maya to look through some configuration files to identify what the current settings for the system are. Robert uses this information to help him debug the problem.
Conceptual Architecture
Key Concept Identification
Radio and Audio Technologies Ltd (RAT) is an established provider of digital audio technology to the recording and broadcasting industries. Up until now, their equipment has been integrated with many other brands of equipment in any given installation, but RAT is now seeking to produce a breakthrough product for smaller radio stations, a complete “off-the-shelf” digital broadcasting studio.
Based on discussions with potential customers, RAT has decided that the system consists of two parts. The first is a digital audio processing system, configurable with from 8 to 24 audio channels. Each channel selects from a range of sources, including CD players, microphones and voice (telephone) circuits, and digital storage media, and is able to perform a standard set of audio processing functions, such as parametric equalization, gain, and panning between two output channels. Additional processing, such as compression and noise reduction, needs to be able to be “patched” into specific input or output channels, with the number of such processing modules determined by the amount of processing power the customer buys.
The second part is the command and control system which the operator uses to configure most of the operation of the studio. This comes in different flavours, with the lowest-cost option being fully virtual, with all controls implemented on standard PC hardware. Although many recording studios won’t buy digital processing unless it has knobs on it, RAT figures that for this product, cash-pressed radio stations will accept touch-screens as a compromise. However, RAT’s standard user interface hardware will also be available for customers that can afford it. They expect to produce a mixture of configurations with varying degrees of physical hardware and screens for display and visualisation.
As always, RAT want to make sure that this product lives up to the reputation they have established for themselves, that of good-sounding digital equipment that does the job and doesn’t break. They need the product to be competitive, but any corners that are cut that cause the product to fail while “live” will severely damage their other markets as well. They are also acutely aware that customer expectations include 24-hour remote access to the system, both through a web interface and a more sophisticated interface that allows a subset of the full RAT control, editing, and signal processing functionality. They have hired you to lead the architectural team for the rest of the Inception phase and the Elaboration phase of this project, with a commitment to keeping you on as project leader(s) if Construction goes ahead.
As a last-minute wrinkle, RAT inform you the day before delivering the contract that they also want to re-use significant elements of this new architecture across a whole new product line, which includes digital audio storage and processing for the film industry, and storage and analysis of security (audio) tapes in large complex installations such as banks and airports.
Refinement of Key Concepts/Components
Key Components
Audio Processor => Capable of performing parametric equalisation, gain, panning between two output channels
Command and control system => Configurable, allows control, editing, signal processing, analysis.
User Consoles => Allows full user control of all audio processing functions, as well as real-time audio analysis
Web Interface => Allows user 24-hour remote web access, connects to Command and control system.
Audio Analysis => Analyses audio for user review
Audio Input Interface => CD Players, microphones, voice (telephone) circuits, digital storage media
Abstract Concepts
Configurable => 8 to 24 audio channels
Scalable => include additional patch processing components; compression, noise reduction
Reusable => Components are expected to be reused in future projects.
Reliable => Doesn't break
Initial Conceptual Architecture
Elaborated Conceptual Architecture
Component Responsibilities
Web Interface
- Present information to user - except real-time analysis information
- Allows user control of the system
User Consoles
- Present information to user - including real-time analysis information
- Allows user control of the system
Users Interface Controller
- Controls user connections
- Gets commands from users, and passes them onto Command and Control
- Gets information from Command and Control, and passes onto users
Command and Control
- Manages passing of information to users, via Users Interface Controller
- Passes user input commands to required component
- Enacts reset command if required
Audio Input
- Receives raw audio from input plugs and/or data storage
- Receives commands on which raw audio to send where, and passes the audio through
- Keeps track of information on which inputs are active
Storage Controller
- Retrieves raw data from storage media
- Gets processed audio to save on storage media
Analysis
- Gets raw and/or processed audio to analise
- Analises audio passed in (such as decibel levels present)
- Passes information gathered from analysis on to requesting components
Processing
- Receives raw audio
- Is sent commands on which processing functions to utilise
- Performs processing on raw audio (equalisation, gain, etc) - to make it processed audio
- Passes processed audio on to indicated component
Audio Output
- Gets processed audio
- Keeps track of information on which outputs are active
- Passes processed audio on for analysis
- Passes processed audio on for storing on storage media
- Passes processed audio on to output channel for playing
- Passes default audio on to output channel for playing during a reset
Data Models
Use Case Maps
Technicians
Technician - Processing Values
Technician wishes to change processing parameters, and read analysis to make sure changes are correct.
Explanation:
- The technician logs into the system via a User Console
- They send a command indicating the changes to take place to the Processing component
- The changes are applied to the configuration settings for the audio processing module.
- The technician then tests the new configuration by requesting some audio to be sent through the processing module.
- Audio Input sends some raw audio to Processing
- The raw audio enters the Processing component, is processed, and the processed audio is passed out to Audio Output
- Audio Output directs the processed audio on to the Analysis component
- Analysis then analyses the processed audio, and sends the information on to the Command and Control
- The analysis information is then forwarded on to the Technician's console for review
- The Technician reviews the analysis
Technician - Output Channels
Technician has been asked to change which output channels are being used for the current show.
Explanation:
- Technician opens the local user console.
- The appropriate output channels are selected, and the command is sent through the user interface controller.
- The command and control interface notifies the audio output module that the in-use output channels have changed.
- The Audio Output module makes the required changes, and sends confirmation back to Command and Control
- Command and control passes this information on to User
- The technician receives confirmation of the change, and the display reflects this.
Station Management
Station Management - Remote Check-up
Station Manager wishes to see what is currently playing from an external location.
Explanation:
- As the station manager is accessing the system from an external location, they will use the Web Interface through HTTP
- The command for gathering the information on what is playing is sent to the Command and Control component
- Command and Control then passes the command on to the Audio Output component
- Audio Output responds to the command and sends the information back to the Command and Control component
- Command and Control forwards this information to the Web Interface
- The Station Manager is able to view the currently playing information
Station Management - Advertisement Recording
Station Manager wishes to record an advertisement about a new show the radio station is about to run.
Explanation:
- The station manager accesses a user console and sends a command through the user interface
- The command is passed through to the command and control system which diverts the command onto the audio input
- The audio input selects the microphone as the input device
- The advertisement is recorded, processed and passed onto the audio output
- The processed audio is subsequently sent to the storage interface
- The storage interface finds free space and writes the processed audio to the storage device.
Radio Presenters
Radio Presenter - Setup Check
The presenter for a show that is starting shortly wants to check that their microphones and phone lines have been correctly enabled as the input channels for their show.
Explanation:
- The presenter opens a user console.
- The command and control interface requests information from the audio input module.
- The Audio Input module gets, and sends the required information
- The Command and Control interface updates the User Console with the current state of the input module.
- The user console displays this information for the radio presenter.
Radio Presenter - Mixing Inputs
The presenter wants to select CD and microphone as inputs, mixing them together to the output. They want to microphone to slowly fade out while he CD fades in.
Explanation:
- The presenter opens a console.
- Commands are sent to the command unit to perform the required tasks.
- The command unit tells the Audio Input to select CD and Microphone.
- Audio Input selects CD and Microphone
- The command unit then tells the Audio Output to mix these inputs together.
- Audio Output sets selected inputs to mix together
- The command unit then tells the processing unit to perform a cross fade.
- Processing unit performs the cross fade
This map demonstrates that the configuring of the real-time components will be quick, as the trace enters each component only once, and terminates there. This means the real-time components will not be interrupted by configuring operations.
Radio Presenter - Finding Audio
The radio presenter wants to play a song for the ad-free-50. He is not sure what device the song is located on.
Explanation:
- The radio presenter logs into a console
- A command is sent through to the command and control system
- The command and control system lets the audio input that the system needs a particular song.
- The audio input finds the location of the song and passes the raw audio onto the processing unit.
- The processing unit processes the raw audio and passes the final result onto the audio output
- The audio output selects lets the output device interface that the song needs to be played over the airwaves.
- The output device interface selects the correct output device such that the song is now playing over the radio.
Radio Presenter - Playing Stored Audio
The radio presenter wants to play back a previously recorded advertisement.
Explanation:
- The radio presenter accesses the user interface through the user console
- They send a command to play a recorded advertisement through to the command and control system
- The command and control system routes the command to the audio input.
- The audio input identifies that this advertisement is available on a storage device and sends through a command to obtain this data
- The storage interface receives the command and finds the location of the advertisement on its storage devices and serves it up to the audio input.
- The audio input passes the raw audio onto the processing unit.
- The processing unit subsequently passes the processed audio onto the audio output.
- The audio output routes the processed audio onto the output device interface which plays it through the central broadcasting system onto the airwaves
Run Time and Life Cycle Events
Run Time
- Audio Inputs
- Audio Outputs
- Audio Processing
- Audio Analysis
Life Cycle
- Message Passing
- Storage Search
- User Interface
- Storage Searches, Reads and Writes
- Web Server
Execution Architecture
Description of Execution Architecture
- Grouped Processing and Analysis
- Made sense for them to be grouped so that they can be done in the same execution cycle.
- This will guarantee that they are done together, and are synchronised as these functions will be performed by the same thread.
- Also, didn't want Analysis to block Processing (or vice versa). Doing them in one thread allows them to cooperate.
- Multiple Processing and Analysis
- Due to fact that there can be multiple streams of data, and is more efficient to handle them individually.
- Using a Pipe-and-Filter Architecture
- This made sense as audio data follows a sequential path.
- The pipe is: Audio Input, Processing & Analysis, Audio Output.
Initial Execution Architecture
Effects of Key Contextual Factors on Development
Market/Competitive
- Efficient using the least amount of components as possible. This will fight the risk of Cheaper COTS technology being used against it
- Movement to handheld devices is out of the control of the RATS
- Keeping the execution architecture fairly specific in its function, i.e. handling multiple audio inputs and outputs to be broadcasted will ensure that a niche market is kept.
- The existence of the audio pipeline to retrieve advertisements from either the storage controller or the audio input device is essential to ensure that advertising revenues stay high.
Organisational
- User consoles which provide an easy to use HMI gateway to access the RATS
- A web server must exist to restrict access to the web interface and to provide the functionality of web configurability
- Funding has affected the amount of components involved in the execution architecture.
- Keeping the execution architecture simple allows the RATS to be relocated into new office space.
- A change in management effects the requirements of the system which is why functions have been grouped together into fairly generic components.
Technological
- If new technology doesn’t use standardised ports then only one component of the RATS needs to be modified rather than the whole system
- Being Pioneers in the field does not affect execution architecture
- Meeting Hard Real-time requirements has resulted in the Audio Pipeline which handles the processing of each audio stream being synchronised. By only having to synchronise one component it is easier to meet hard real-time requirements
- The web service has had to be a separate component to ensure that any changes to web technologies can be implemented on this component (locally) without affecting other components in the RATS.
- Environmental factors which effect technology are not affecting the implementation and execution architecture
- Forwards and Backwards compatibility has been accounted for through the implementation of the audio pipeline which effectively ties together the audio input and audio output through its interface. By maintaining an interface specification the RATS can be forwards and backwards compatible.
Policy
- Government regulations controlling content and safety has not been incorporated into the execution architecture as it is up to the user of the system to ensure that they are meeting broadcast regulations.
- Increasing security threats is accounted for using the web server. By upgrading the security components such as the firewall on the server side of the web interface, the RATS has accounted for increasing security threats.
- The RATS execution architecture has provided for the audio input to be connected to the audio output which can record all content onto file if a legal issue was to arise.
- A change in broadcast conditions is not a part of the implementation and execution architecture.
Elaborated Execution Architecture
Concurrent View
Deployment View
Feasibility of Execution Architecture
Choice of Componenets
Currently, the only off-the-shelf component utilised in our architecture is Jetty. Jetty is a Java-based web server and servlet container. We have used jetty in order to implement the web user interface.
All other components in the system are custom built. This includes the storage controller, processing, analysis, audio input, audio output, command and control and the user consoles. We chose to make these custom built due to the need for the components to smoothly interact with each other. Having an off-the-shelf analysis component could lead to unwanted complications and delay, thus endangering it's run-time requirements. This being said, additional off-the-shelf components are expected to be needed further on in the project. For example, an audio codec library to play audio of different formats.
Feasability with Respect to Quality Attributes
Performance
This section will help explain our choices in relation to execution architecture. The focus will be on why audio input, processing, analysis, and audio output has been grouped into one section for the execution view. The main reason for this is due to performance issues.
Handle 24 Input Channels
Having an input mapped to an output, and creating a "connection" to handle this mapping as well as processing made sense. Firstly, no formatted message passing is required, thus ensuring that audio can be passed along quickly. Second, there is no synchronisation required, as all functions are being run together. This means that the time delays associated with synchronisation are not present within our architecture.
Explanation:
- The User logs into the system
- 24 inputs connected to the system (can either be through plugs or from data storage)
- The User commands the mixing of all 24 input channels into 1 output channel
- Message Handling passes the command onto the Audio Pipeline
- Audio Pipeline enacts the command. This involves connecting the individual inputs to a single output channel. The end result is passed to the relevent output channel
- Audio played through the relevent output channel
Concurrent Read/Write
To be able to handle simultaneous reading and writing to a file, the Storage Controller was made concurrent. This was an obvious choice and does not require much explanation.
Explanation:
- The User commands that audio will be input from storage, processed, then saved to storage
- The Command passed to Storage controller
- Storage Controller passes the requested audio to the Audio Pipeline
- Audio Pipeline enacts the command performs any set functions it is required to
- Audio passed back to storage controller
- Storage controller writes the audio to storage device
Usability
Useability is a difficult issue to address within a system's architecture. On one hand you want the interface to be elegant and clear, and commands to be quickly acted upon. On the other, you want to have security measures in place to make sure the user has not made an error, as well as command error checking. If you focus on one part and not on another, then the system's usability will suffer. For example, if you ask the user for confirmation on every decision the user is likely to get annoyed at the system. However, if the system enacts every decision made by the user without confirmation, the user may make some kind of mistake - resulting in a catestrophic error. The goal, therefore, is to find the correct balance of these issues.
Reset Confirmation
The system's confirmation procedures are beneficial to the user, but only as long as it does not interfere with the quick flow of commands. The system only asks for confirmation, via a dialog box, when a user is editing or enabling critical components (e.g. the reset system function).
Explanation:
- The User logs into the system
- The User issues the "reset" command
- Message Handler receives the message and asks user for confirmation
- User gives confirmation
- Message Handler enacts the command
Reliability
We aim to address reliability issues through the thorough testing of the system, and addition of hardware protection measures - such as uninterruptable power supplies. However, we have also included provisions for catestrophic errors within the system that need to be recovered from quickly. When a component deems an error it has encountered as "un-recoverable", then that component sends a message to the Message Handler which acts upon it accordingly. While this reset is taking place, an un-interuptable section at the end of the Audio Pipeline will output a default song with default configuration settings.
Automatic Reset
This new studio can detect when an error occurs and will automatically try and correct itself. Should this not fix the problem, then the system can quickly and easily reset.
Explanation:
- An error occurs in Audio Pipeline
- Audio Pipeline is unable to recover from this error and sends a reset request to Message Handler
- Message Handler receives the message, and sends out messages to all components to reset
- All components receive the command, and reset
Runtime Quality Attributes
| Quality Attribute | Conceptual Modules |
|---|---|
| Reliability | Message Handler, Audio Pipeline, Storage Controller |
| Performance | Audio Pipeline, Storage Controller |
| Usability | Web Interface, User Consoles |
| Security | Web Interface, User Consoles, Message Handler |
Notes on run-time quality attributes:
- It is still acceptable to group Processing and Analysis in the same subsystem despite differing reliability requirements, because they are both time-critical processes and require being synchronised. This means the whole subsystem will need to meet an acceptable level of reliability for the processing module.
-
- The Audio Input and Audio Output modules from the conceptual architecture have been appropriately placed in the same subsystem. The input and output modules are merely an abstraction from the different device interfaces, and they share the same run-time quality attributes.
Implementation Architecture
Initial Implementation Architecture
Effects of Key Contextual Factors on Development
Complete Implementation Architecture
Explanation
Web Server
- Connects to Internet
- Allows remote-access to system
- Reads templates to display information to the remote user
User Consoles
- Gives users direct access to the system
Audio Components
- Command and control contains all message passing functions
- Processing and Analysis perform the functions they are named after
- Audio Lines are input into the system, and are also present as outputs
- Audio Storage connects to this component as well
Data Storage
- Contains audio for input into the system
- Provides audio saving capabilities
Protocol
Architectural Design Critique
See Architectural Design Critique
Anticipated Issues
Expected Issues Following Milestone 1
- The real implementation and execution architectures may not be as neat as those depicted.
- Data models may be inadequate, and need to be revised.
Anticipated Issues Following Milestone 2
- Integrating an audio codec library with the existing architecture.
- Meeting real-time deadlines may prove difficult as more processing and analysis modules are added to the processor architecture.
- Scalability issues. The system has not been adequately stress tested as to the number of processor threads that can be started simultaneously.
Instructor comments
A strong start on your stakeholder analysis! 28th Aug Lian



















