1.2.3 Software Development Flashcards
What is the purpose of an ICT development project
- To create an application system, which is a combination of software and hardware that meets the needs of a given set of users or purposes.
What are reasons to commision a new system
- Company expansion
- Old systems being too slow compared to modern alternatives
- Lack of support for old software
- A desire to capitalise on new technologies
What does a new ICT system require also apart from programmers
- business experts
- analysts
- project managers
- testers
- technical authors
- marketers
What are Stakeholders
- A stakeholders is someone, or a group of people, with a vested interest in the new system being built.
- They can be passive stakeholders, which means they won’t be involved in production
- or active skakeholders who play a part in system being built.
What are the main categories for stakeholders
- Users
- Programmers/dvelopers
- Project Managers
- System Analysts
What are the users
- Are not the same as the client.
- The client requires the new system to be built and the user will be the one interacting with it.
- It is crucial to consider the users, as they are the people who will be interacting with the system on a daily basis.
- If the system doesn’t meet their needs, it will fail
What are the Programmers/Developers
- Are the people building the system.
- They take information passed on by the systems analysts and use it to develop the system. They will have specialist knowledge of several programming languages and can make informed decisions to which is most sutiable to develop the system.
- They rarely have direct involvement in the analysis or design but have vested interest in the success of the project.
What are the Project Managers
- Have a critical role in the project. It is their responsibiliy to monitor progress and allocate resources to the project.
- There is normally a project manager on both the client side and the developers side. These project managers work closely together to avoid any bad surprises showing up.
- In order for the project managers to plan project successfully, they need to understand how well their teams work and what skills they have and to ensure they know as much as possible about their team. That way they can monitor the progress
What are System Analysts
- Systems analysts find out exactly what the client wants.
- Analysts have to use their own experience. They are responsible for investigating the organisation’s objectives and producing the requirements specification.
- They will also suggest possible implementation methods for the proposed project.
- They will document the existing system so can be clearly understood by the system designer and programmer.
What is Problem Definition
- Before starting the cycle, we need to understand what the problems with the current system are and what problems the new system will solve.
- Once the problem has been diagnosed, the scope of the project can be laid out.
- Unbounded projects are guaranteed to fail, as there is no way to differentiate what the customer required at the start and what they require 6 months down the line
- The problem definition phase documents the process of identifying what problems exist in a client’s current system or defining what problems with their existing system or software to help them expand their company
What is a Feasibility study
- A feasibility study establishes whether or not the project can be done given the scope laid out during problem definition.
- Also it considers whether it is desirable for the development company to proceed with the project.
- A number of factors should be considered on deciding how feasible the new system will be: economic, time, technical, political, legal
What is Economic Feasibility
- A project has a specific budget, which must include all the costs of the project, including
- Software Licenses
- Hardware
- Human Resources/Wage
- Human costs are the most variable and account for majority of the project.
- Economic Feasibility considers the overall budget and costs. It then decides if enough profit can be made to make the project worth doing. A good reputation may lead to future projects, so it’s worth maintaining
What is Time Feasibility
- Late projects result in going over budget because of the cost of developer’s wages.
- It is important that projects are delivered on time, as the developing company will make a negative impression.
- Sometimes it is even more critical, as the client could have pressing business reasons for a project to be delivered by a certain date.
- Once the estimated length of development has been calculated, it is compared with the client’s deadline. If it can be done in the given time frame, the project can go ahead
What is Technical Feasibility
- Can the project be done with the technical resources available?
- Some requirements may not be possible or feasible with current technology.
- However, what is more likely to cause problems is if the development team does not have the technical skills needed to satisfy the requirements
What is Political Feasibility
- Projects can sometimes have issues that may go against the beliefs of certain groups of people.
- When these projects go wrong, the national media will report on it and show the development company negatively.
- The development company needs to decide if the positives outweigh the negative publicity.
What is Legal Feasibility
- Legal feasibility helps decide whether the project will be able to comply with all of the laws that may affect it in the countries where it will be released.
- File sharing software can be against the law, companies producing or facilitating illegal activity are sued
- Legal feasibility needs to be taken seriously, as the effects can be damaging for the client and the developing company.
- Also some countries might ban the use of software completely if it doesnt meet the basic legal requirements.
What are the different fact-finding methods
- Observation
- Questionnaire
- Document Collecting
- Interview/ Meeting
What is the Observation Fact-Fnding methods
- Analyst shadows employees of the customer for a period of time, making notes on how they do their job
- Observe employees in their natural environments to see how their business works.
What are the advantages and disadvantages of the Observation Fact-Finding method
- Advantages:
- Pick up parts that aren’t immediately obvious to the client
- Confirm information gathered by other fact-finding methods
- Disadvantages:
- Some may feel threatened being watched
- No guarantee subtle parts will show up
What is the Questionnaire Fact-Finding method
- Designing questionnaires requires knowledge of the system built and sent out to people
- Prior knowledge is essential so questions can be targeted.
What are the advantages and disadvantages of the Questionnaire Fact-Finding method
- Advantages:
- Can be given to a large number of people
- Get large number of different responses
- Targeted responses - large amounts of data analysed + quantitative results
- Disadvantages:
- Hard to create/ design questions + responses
- Not all questionnaires are completed
- Free responses = time consuming to analyse + many opinions to consider
What is the Document Collecting Fact-Finding method
- Analyst gathers any business documents that relate to the new system to be built.
- Orders, invoices, financial records, documents in regular use.
- Key elements can be inferred:
- The data they use/ what will need to be stored
- The analyst gets a good understanding of the business process/ following trails of documents and flow of data from start to finish.
What are the advantages and disadvantages of the Document Collecting Fact-Finding methods
- Advantages:
- Documents are reliable/ show data stored in the system
- Document trails help support analyst’s picture of business processes
- Disadvantages:
- Documents give limited view/ doesn’t say how they were created
- May contain sensitive info. Restrictions on viewing them
What is the Interview/ Meeting Fact-Finding Method
- Most analysts start - select key stakeholders and ask them targeted questions of the current and new system.
- Lots of info can be gathered in short space of time. Analyst can ask for clarification.
What are the Advantages and Disadvantages of the Interview/ Meeting Fact-Finding Method
- Advantages:
- Large amounts of info gathered and analyst can respond to queries
- Interviews produce detailed responses
- Disadvantages:
- Time consuming - few people only
- May not be fully truthful - verification needed.
What are Requirements
- A requirement is a specific feature of the new system and is recorded in a document called the requirements specification
- Requirements must be measurable. Met/ not met. Must be interpreted correctly may lead to conflict and problems.
What are Interface Requirements
- The interface of the end user interacts with it. Interface Requirements depend on the end user + complexity of the new system.
- The developers are interested if the interface is considered sutiable by the end user.
- Examples: hardware is durable, software accessible to a beginner
What are Functional Requirements
- Functional Requirements detail what the system will do and key features it will have
- Examples: Microsoft word, auto correction, word count, spell check
- The key is what they do when the user clicks on them. Focus is what the features need to achieve in order to be successful.
What are performance Requirements
- Examples: Response times and throughput.
- Have to be specific. Bounded means a reasonable maximum time agreed by both sides.
- Real time must be clear, realistic and measurable.
What is the design phase
- Process of taking the requirements of the new system and deciding what it will look like, how it will store and process data.
- The design phase can only go ahead once the requirements specification has been completed.
- The design includes a number of areas:
- Hardware and software choices
- Data
- Output Design
What is Input in the design phase
- Also known as the interface design.
- Shows how info will be input into the new system and how it will be displayed after processing
- Doesnt describe how info is processed, nor functional requirements except interaction.
What is output in Design phase
- Similar to input design. Look at what triggers the output. (triggered by something inputted
- Triggers include entering new data, clicking on buttons.
What is Data Structure Design in the design phase
Dictates what needs to be stored and how data is organised.
What is the Build phase in the systems development lifecycle
- Development is the planning, writing and alpha testing of the software. Includes user and technical documentation.
- Usually longest part of creating new applications.