Actual Important Info Flashcards

1
Q

Project Properties

A

Consists of some non-routine tasks (Can’t be done mechanically)
Involves novel approaches/techniques.
Needs a degree of planning
Work involve is phased
Milestones, deliverables and timescales set throughout
Work is commissioned (money and deliverables involved)
Amalgamates various specialities and cultural backgrounds (At least 2 different skill sets involved)
Work resources are pre-defined (Not unlimited resources)
Work involved is large scale and/or of high sophistication.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Resources can be used

A

efficiently or improperly which will impact the quality of the project Every project needs human and non-human resources.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Software Projects vs Other Projects

A

Progress not always visible (especially in non-tangible algorithms)
Abstraction is central (product of intelligence)
Software costs are more complex than traditional ones
Deals in subjectivity/opinions
Contends with conflicting or ill-formed requirements
Always expected to accommodate physical components of a system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Manageable components of the system

A

feasibility study, plan, project execution. If manager doesn’t put in enough effort then the project will take more effort.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Management Responsibilities

A

Planning
Scheduling
Monitoring
Directing
Controlling
Organizing
Staffing
Innovating
Representing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Project Planning

A

Scope
Project Estimates
Resource Management
Risk Analysis
Scheduling Issues
Staff Organization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Other Project Plans

A

Quality
Configuration Management
Staff Development
Exception
Maintenance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quality Planning

A

Reference to Industry wide standards such as ISO9000 series.
Management Tasks and responsibilities
Transparency
Staff-Oriented
Communication Framework
Risk Management
Inbuilt Checking Structure
Documentation Issues
Development tools and methods
Testing Issues

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Project Planning Techniques

A

Options Analysis (Goal Aspect): Weighing various goals against each other (maybe conflicting)

Risk Management (Problem Probability Aspect): Determining, Analyzing, Planning for, and controlling unwanted events.

Milestone Setting (Product Aspect): Determination and setting of meta-deliverables.

Scheduling (Activity/Timing Aspect): Setting conditions for task activation and termination.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Risk Dissection

A

Risk Identification: Define the risk
Probability of Risk: Subjective but can be based on experience
Severity: Should be clearly discernible and prognostic
Manageable and Mitigatable: To what extent is it controllable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Software Project Risk Types

A

The product (ex. Requirements): such as wrong use of modelling tools
The project (ex. Staff): Changes in management, staff, or hardware resources
The business (Ex. Technology Shifts)
The project and product (Fluctuation of requirements, results in project being longer).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Time and Cost Overrun Risks

A

When a software project overruns planned delivery time and budget, this can be traced back to one of the following reasons:
Estimation Inaccuracies
Planning assumptions
Unforeseen events

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Typical Project Planning Misjudgements

A

Over-optimistic schedule: results from expecting more from resources
Stakeholder unavailability
Resource unavailability
Weak monitoring
Taking a ‘for obvious’ stance to expertise
Letting personal views affect objectivity
Staff Augmentation (especially on late projects)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Sources of Software Project Risks

A

Generic: Applicable and common to all types of software projects but might provide different levels of accuracy across projects of different types
Specific: Applicable to specific types of projects, but require closer involvement by project team members.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Main Risks to be considered

A

Nature of the application being built
Staff morale, skills, experience, motivation and availability
Project culture and methods/procedures
Hardware and Platform requirements
Implementation and changeover issues
Third party dependency
Real world requirement shift

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Traditional SE risks

A

Personnel Shortfalls
Unrealistic schedules and budgets
Developing the wrong software functions
Developing the wrong UI
Gold Plating
Continuing stream of requirements
Shortfalls in externally furnished components and tasks
Real time performance shortfalls
Straining computer science capabilities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Risk Exposure

A

Risk Impact x Risk Probability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Risk Reduction leverage

A

measure of the balance between perceived benefits of reducing a risk and the cost of doing so, called risk reduction cost, is called the risk reduction leverage.
RRL = (RE before - RE after)/RRC

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Risk Control and Mitigation Techniques

A

Hazard Prevention: Removal or rendering to insignificance the possibility of particular hazards arising
Likelihood reduction: Taking every precaution to ensure that the chance of a negative event happening is the least possible
Risk avoidance: Taking measures to ensure that the risk is not encountered in the first place
Risk transfer: The movement of a particular risk factor to other (non-project entities)
Contingency Planning: What to do when the unavoidable happens.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Three pillars of Taylorism

A
  1. Find best practice wherever it is: Determining procedures and techniques that yield desirable quality, allows one to identify, draw parallels and apply. Replicate processes which lead to good quality output.
  2. Breakdown task into its constituent elements: The basis of any analytic activity is better understanding. Analysis is used to explain what we are trying to build.
  3. Remove things that don’t add value to the process or product: keep only justifiable overheads. Streamline process to remove deadweight. Maybe resources need to be upgraded or changed.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

The Taylorist Approach

A

Select: Delegate appropriate people to appropriate activities. Wrong selection can be long lasting and devastating

Instruct: Teach people the best methods of going about their activities and keep them happy so they can do their job well.

Motivate: Pay the hardest working people more. Motivation is subjective, understand what motivates each person in the team, time helps you to understand to motivate.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Theory X and Theory Y

A

X - people dont want to work
Y - people do want to work, want responsibility, dont need to be monitored

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Determine the Organizational Culture (Accepted goals, procedures, tools etc.) by asking

A

What development procedures and standards are generally used.

What is understood by a successful project.

What levels of confidence exist (towards management/tools/methods/deadlines)

How are projects viewed generally by software engineers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Determine the Individual Culture (Background, habits, desires, motivators, expectations) by asking

A

What is the person’s formal educational background (long term view on people)

What’s the person’s job (Short term view on people)

What’s the person’s age (younger people may be more creative or suit coding better)

What is their character/habits/expectations (everyone’s character is different, it is their input and output. Habits can be something like needing other’s opinions before finishing code. Everyone has personal expectations or wishes and how they would ideally like to work. If you don’t get this information you could fail to integrate the person by plugging them in wrongly, keep in mind when onboarding. Once you hire you are stuck with the person).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Emergent Cultural Roles

A

Leader; many think they are, not giving orders by motivating, organizing, representing etc. Drive needed to be a good leader. Has to have good ability.

Listener; Listens a lot, takes a step back to work, doesn’t announce themselves.

Talker; Could say a lot of things but some might be useful
Complainer; Plays the role of the difficult customer, drives quality in product

Naysayer; Need this person to create a good evaluation of what you’re trying to build, try to find problems where there are no problems.

Expert; The person who always has something to contribute. It could even be things unrelated. Good to start discussions, good for creativity.

Charger; The person who would keep people going on something (motivator)

Plodder; Doesn’t complain, given tasks and sets the pace for the project, might bring others down to reality if they are exploring other things.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Typical Software Engineering Project Roles

A
  • Requirements Engineer
  • Systems Analyst
  • Lead Designer
  • Designer
  • Coder
  • Tools Experts
  • Quality Assurance Liaison
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Professional Trends

A

Task Oriented (Motivated by work, Technically strong, not motivated with easy work.)

Interaction Oriented (Influenced by colleagues, good team player, transparent in work. Support from friends/colleagues adds quality.)

Self Oriented (Motivated by personal achievement. More flexible and manageable. Motivated by results)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

The Recruitment Process

A

Generally done at organization level not team or project level

Can offer sparse choice, so if you can’t find the ideal qualities in a person you may be looking too specific or not offering enough money.

Can be of a ‘pre-decided’ nature, meaning the recruitment process is open for everyone but catered to a specific person

Can be transitory, hiring someone yourself but for a different project, might not put in enough effort in recruitment

Can be deceptive. Especially if the recruiter isn’t careful (applicant lies on CV)

Can be unfair. If recruiters aren’t versed in the subject matter, people might not have the competence to ascertain the characteristics of people being recruited.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Factors influencing recruitment process

A

Actual knowledge/skills
Formal qualifications
Impressive CVs
Listed experience
Wide spread of posts held
References

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Factors NOT influencing

A

Race, Gender
Social Status
Generation issues
Personal Prejudices
Physical Disability (NOT Mental disabilities)
Hearsay or rumors
Appearance and Mannerisms (However for some roles this could be an issue)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Structuring Recruitment

A

Create Job Specification (Carry out internal mental tasks and makes sure you know what tasks you’re recruiting for. Does prefiltering for applicants)

Create Virtual Profile of ideal candidate (Easier to compare against something)

Prepare realistic and descriptive public announcement

Get the list of applicants (Shortlists effort, given a picture of what you will face in the selection process. Makes selection easier)

Examine applicant’s CVs (Understand nature and capabilities of applicants)

Hold interviews (In person to pick up body language)

Follow up of references to make sure they are truthful

Inform of final decision, or short-list applicants and hold a second interview session.

Formulate letter/s of acceptance

Meet, introduce and induce the new person. Structure of support. Can range from introducing them to the team to a whole induction program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Staff can be

A

Good and improvable. Focus on fostering growth and upskilling. Mentor and train in areas they lack or where they want to get better. Provide constant feedback.

Already there. Can still be managed, and can share knowledge with the former. Encourage lateral development to deepen expertise.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Making Good People Better

A

Make people think of professional self-betterment as one of the project aims. Helps them to feel accomplished when enhancing their skill.

Allow people to set their own improvement goals (SMART Goals - Specific, Measurable, Achievable, Relevant, Time-Bound).

Ask people to manage their own time to foster ownership and efficiency.

Determine and distinguish between temporary short term and longer-reaching long term staff professional development goals
Monitor and assess the process and product not the people. Don’t delve into micromanagement but evaluate outcomes and methods.

Measure progress through tools like code reviews.

Conduct without interfering

Make use of you knowledge not your position

Act as a conduit for your people’s effort not as an obstacle or critical filter. Fabricate open channels for ideas without being a bottleneck. Enable team efforts with goals.

Forget trapping/managerial authority and concentrate on project and people needs

Be there for your people without seeming intrusive.

34
Q

Attributes of a good manager

A

Confidence in yourself and your people. Based on trust not control. Build an environment where people feel empowered to act.

Don’t allow personal relationships to interfere with work relationships. Maintain boundaries to avoid favoritism.

Admit that you too can make mistakes and prepare for them to be corrected through people’s scrutiny. Mistakes are learning opportunities.

Be punctual and people will follow

Set positive examples, Act as a role model and how you expect the team to behave.

Know your people and tap up all their talents

35
Q

Managing people in software engineering is

A
  • Managing group effort and individual cultural attributes. Group work drives results, individuals drive innovation. Diversity is good for problem solving.
  • Careful management of highly motivated, intelligent and responsible people. Challenge team with intellectual work and opportunities to innovate.
  • Managing your people’s professional development. Offer learning opportunities which are aligned with project or organization goals.
  • Setting the right examples and standards, and elevating project and team needs above everything else. Benchmarks like adhering to coding standards or effective communication can be used.
36
Q

Aspects of building & managing a group

A

Individual characteristics of group members. Recognize strengths and weaknesses.
Group cohesion. Team building activities foster trust and communication
Group communication. Use structured communication methods. Encourage asynchronous updates to accommodate different work styles.
Group organization. Choose org model based on preference and standards.

37
Q

Cohesive Groups Advantages

A

Collective standard can be cultivated
Sense of loyalty
Foster project/procedure continuity
Team members tend to help each other
A collective body of experience can be formed
Personal egos less likely to surface
Communication comes naturally

38
Q

Cohesive Groups Disadvantages

A

Foster a relatively strong resistance to changes in leadership
Allow the buildup of ‘groupthink’
May induce a sense of rejection or resistance to new members

39
Q

Typical Time Allocation for SE dev

A

Individual Work 20%: Most of the productive effort
Non-Productive Effort 20%: Usually meetings and repetitive tasks
Interacting 60%: Critical for agile processes, standups, retro etc.

40
Q

Factors influencing Internal Team communication

A

Procedures and standards currently in place. Clear documented processes enhance clarity and reduce friction.

Size of the team. Communication may be better in smaller teams.

Structure of the team. Larger teams need hierarchical structure

Gender composition of the team. Foster inclusivity

Work environment. Comfortable spaces drives interaction

Management disposition and attention. Ensures issues are addressed quickly

Personal individual characters and habits

41
Q

Types of team structures

A

Chief Programmer
Democratic
Matrix
Hybrid

42
Q

The Matrix Approach Advantages

A

Efficient resource utilization
Flexibility in team assignments
Enhanced skill development
Cross-functional collaboration

43
Q

The Matrix Approach Disadvantages

A

Conflicting priorities
Complex communication channels & Decision making challenges
Role ambiguity

44
Q

Types of matrix structures

A

Weak Matrix (Functional Managers have Authority, Project Managers coordinate and may have limited decision making power)
Balanced Matrix (Equal power, decisions need collaboration, balance between project and departmental goals)
Strong Matrix (Project managers hold more authority, driving project goals, while functional managers provide support. Project-oriented)

45
Q

Matrix approach can work well when

A

Projects require diverse expertise across different technical areas
Teams need to adapt quickly to shifting priorities or new project requirements
Organizations operate in a dynamically environment where resource sharing ensures optimal efficiency.

46
Q

Hybrid (Modern) Approach

A

Team Leader:
Responsible for technical aspects
Attends all code reviews
Acts as a guide rather than an authoritarian figure.
Team Manager:
Responsible for non-technical aspects (budget, performance..)
Does not attend code reviews, but assesses performance periodically
Avoids micro-managing technical decisions, empowering team lead and devs.

47
Q

Hybrid (Modern) Approach Advantages

A

Specialized roles and clear responsibilities. People can focus on their strengths.

Efficient collaboration. Leader bridges gap between technical execution and project goals. Managers ensure smooth operation without interfering technically.

Adaptability. Can evolve with project.

48
Q

Hybrid (Modern) Approach Disadvantages

A

Coordination Requirements. Effective collaboration between team leader and manager is crucial. Miscommunication disrupts workflows.

Balancing authority. Maintain clarity in hierarchy to prevent conflicts from technical and managerial roles.

49
Q

Six Basic Group Evolution Cycles Life Stages

A

Formative: people trying to form relationships/ideas. Effort on meeting people, not so productive in this stage. Cohesive group decreases this stage. The more multicultural a group is the longer this lasts.

Hectic (aka Storming): Points and views put forward. Team slightly more productive than before. Team becomes a bit more cohesive

Normative: Team reaches a stage where they all agree on processes, norms and behaviours. Align on how the work will be done and establish expectations.

Productive (aka performing): Group working efficiently towards its goals, roles and responsibilities are clear and everyone is contributing to team. Group achieves highest level of productivity here. Communication flows smoothly and team is focused on delivering the outcomes effectively and efficiently.

Introspective: Looking back at effort made, evaluation and review on improvements

Wind Up (Adjournment): Dismantling of team or assigning team to another project.

50
Q

Uses of Measurement

A

Helps us understand: makes the current activity visible, measures established guidelines ex. Finding number of bugs helps us understand code quality

Allows us control: Predict outcomes and change processes, this helps with risk estimation and risk management and to keep projects on track.

Encourages us to improve: when we hold out product up to some form of measure we can establish quality targets and aim to improve.

51
Q

Levels of Measurement

A

Nominal Scale; by identifier ex. British, South African
Ordinal Scale; Ranking and category ex. 1st, 2nd
Interval Scale: Relative position on a scale ex. League table
Ratio Scale: Relative to an absolute value on an interval scale ex. Probability of failure.

52
Q

Measure

A

An appraisal or ascertainment by comparing to a standard ex. Body Temperature

53
Q

Metric

A

A quantitative measure of the degree to which an element corresponds to a given value (2 errors in 18 months rather than 2 errors)

54
Q

Indicator

A

A device, variable or metric that can indicate whether a particular state or goal has been achieved. Usually used ot draw someone’s attention to something (Red light)

55
Q

Examples of measurements in SE

A

LOC
Number of reported errors
Number of person days required
Gunning Fog Index of a manual

56
Q

The Three Ps

A

Product: Software being delivered, should be high quality
Process: methods and workflows used during dev, optimize for efficiency
People: Individuals involved in the project, whose productivity and skills should be measured to ensure the team is working effectively.

57
Q

A software project is made up of all 3 Ps, measurement:

A

Is integral for QA
Important aspect of planning
Doesn’t take into account other system components
Has no fixed SDLC positioning (Can happen in and dev phase)
Is a refinable effort (can be recalculated at various levels of abstraction)
Mainly but not exclusively targets estimation

58
Q

The relationship between external and internal metrics

A

F(ex) = m1c1 + m2c2 + … + mncn
Where:
F(ex) is a meaningful value of an external factor;
Mi is a constant representing the relative importance of internal attribute i (the weighting)
Ci is the value of internal attribute i.

59
Q

Measureable Internal Quality Factors

A

Access Audit: ease at which s/w and data can be checked for compliance. Accessibility of datasets we are building software on.

Access Control: Provision for control and protection of s/w and data. Make sure unauthorized users are restricted and data is safeguarded.

Completeness: degree to which full implementation of required functionality is achieved.

Consistency: uniform design and implementation techniques in a project.

Generality: breadth of possible applications of the component

Operability: ease of operation of software. Good UI, automated backups…

Simplicity: Ease with which the software can be understood.

Traceability: ability to link software components to requirements. Clear relationship between what’s been built and why it was built.

Training: The ease with which new users can be made to use the system.

60
Q

Most common estimation points

A

Cost: Monetary value required to complete project, including expenses for staff

Effort: Time, energy and resources needed to accomplish project task.

61
Q

Cost to Estimate

A

Software Dev (High Priority): coding, testing, integration, debugging. Usually largest cost. Can include tools/licenses/cloud services…

Hardware Usage: Cost of purchasing or leasing hardware needed for dev or deployment. Servers, network equipment, storage…

Development Staff: salaries, benefits and costs associated with team

Support Staff: Administrative or technical support teams
Premises, communication and services: Office spaces, internet, electricity…

Training: Cost for upskilling the dev team, training new hires or teaching s/w to users.

Travel: In person meetings, stakeholder workshops or training sessions

62
Q

Software Dev Cost Estimation Approaches

A

Expert Judgement: Relies on experience and intuition. Can be quick but prone to bias, lack of consistency and may not be scalable.
Analogy: Use past projects as a baseline
Algorithmic Cost Modelling: Empirical formulas relate s/w metrics like size or complexity to cost.
Parkinson’s Law
Pricing to win (Unethical)

63
Q

Types of estimation techniques

A

Top down estimates: High level breakdown of costs, starting from overall goals and dividing into components, fast but less detailed.

Bottom up estimates: builds estimates by aggregating costs for individual components or tasks, more accurate but time intensive.

64
Q

Function Points

A

Elaboration on object points.
Measure intended to gauge functionality rather than size or components
They are more relevant to user needs (Externally visible)
Require good insight into the system to be accurate
They are quite a popular measurement basis.

65
Q

Basic Concepts of Function Points

A

FP are an attribute of a system based on its internal functions
FP are sometimes preferred to LOC as a base measure
Closer to user perspective of system (function size rather than coding size)
LOC can be misleading when language generations are crossed

66
Q

5-type categorization each function would fit in

A

External Inputs - Distinct data used by the system

External Outputs - ex. Reports, normal/error messages

Enquiries - Interactive inputs, combination of input and output. System requires by force an output for an input.

External Files - Files shared with other systems interacting with yours.

Internal Files - Files not visible outside the system. Database used within the system or for the system you are building ex. Customer order file.

67
Q

Benefits of FP Analysis

A

Technological Independence: Calculates system’s functional size independent of underlying technology. Technology-neutral metric to compare projects.

Better Accurate Project Estimation: helps improve accuracy by measuring functional needs and user interactions. Improve planning and budgeting with FPA.

Improved Interaction: provides common language to communicate between stakeholders for both technical and non technical audiences.

Making well-informed decisions: FPA assists in making well informed decisions at every stage of the SDLC. Use FPA to make decision on resources, tech etc.

Early recognition of changes in scope: Early detection of changes in scope is made easier with help of FPA. Possible to evaluate additions/changes for effect on project’s overall size.

68
Q

Disadvantages of FP Analysis

A

Subjective Judgement: Dependent on subjective judgement (personal interpretations)

Low Accuracy: Low evaluation accuracy as it’s dependent on subjective judgement

Time Consuming: FPA is time consuming, mainly during initial implementation stages

Steep Learning Curve: Learning FPA can be challenging due to its complexity.

Less Research Data: Compared to LOC based metrics, relatively less research data on FP

Costly: Need for thorough analysis and evaluation can result in increased project timelines and associated costs.

69
Q

Statistical Quality Assurance

A

Quantitative way to qualitative evaluation, Main steps:
1. Collect and categorize data on software defects
2. Define underlying causes of defects ex. Non-conformance to specs, design etc.
3. Use pareto principle to condense the vital defects
4. Implement corrective measures on causes; once identified move to correct problems

70
Q

Causes of Software Defects

A

Incomplete or Erroneous Specification (IES): Someone hasn’t properly understood the requirements.

Misinterpretation of customer communication: Might be a miscommunication in the way the customer explained or the way you understood requirements

Intentional Deviation from specifications

Violation of programming standards: ex. Breaking naming conventions

Error in data representation (EDR): Most systems will handle a lot of info, and will only be as good as the info handled.

Inconsistent Module Interface: Inconsistency always linked to misunderstandings or causing things to be missed. Moving between interfaces will be easy if not may be a source of errors.

Error in Design Logic (EDL): Wrong modelling, disjointness between plans and models.

Incomplete or Erroneous Testing

Incomplete or Inaccurate documentation

Programming language Translation of design errors (PLT)

Ambiguous or inconsistent HCI

Miscellaneous (Form catch-all)

71
Q

Prevent Incomplete or Erroneous Specification

A

Improve specification techniques, new methods, upgrade personnel etc. Mitigate this by improving specification techniques and teaching people how to model from a functional POV. Model functions and how data is processed, and the control aspects of the system.

72
Q

Prevent Error in data representation

A

Adopt automated design tools, stringent data modelling and reviews. Data should be a representation of real world. Can fix with tools which flags missing info. AI can help in modern tools and approaches. Make sure people share what they build/intend to build to let groups know what is expected from them in terms of data.

73
Q

Prevent Programming language Translation of design errors

A

More visibility, check design phase output, enforce strict translation techniques. Explain what you code to mitigate this. Cover all design basics. Stick to standards in programming, have an interface with clear indication of parameters.

74
Q

Prevent Error in Design Logic

A

Reinforce good requirements understanding, ensure personnel quality, adopt widespread design techniques etc.

75
Q

COCOMO 1 Levels

A

Basic: Depends on project type
Intermediate: Introduces refining factors based on 4 project related aspects
Detailed: Uses changing refining factors depending on the stage of development as well as system structural modularity.

76
Q

An estimation of crude effort, Boehm’s project class types:

A

Organic: Familiar, has been done before, ex. Making the same type of software
Semi-detached: Contains some novelty, could be familiar but added complexity
Embedded: Part of a highly sophisticated system. You can expect systems that would include a degree of trial and error.

77
Q

Intermediate COCOMO-1 Four attributes introduced:

A

Product attributes: Determined by the type of software in development
Computer attributes: Determined by the type of hardware on which the developed software is to run.
Personnel attributes: Determined by expertise and skill of developers
Project attributes: Determine by project wide tools, techniques and schedules.

78
Q

COCOMO 2 differences:

A

Higher abstraction (moves away from KDSI)
Uses object points and FP instead of KDSI
Considers CASE (Computer aided SE) tool usage, reuse practices and iterative dev

79
Q

Stages of COCOMO 2

A

Early prototyping: Initial development stages when the system is not tied to any particular development paradigm.
Early Design: Initial system structuring stages when system starts to assume basic issues about the way it will be written. Includes further refinement using 7 composite cost drivers.
Post architecture: Deals with the actual system code using KDSI as in COCOMO 1.

80
Q

Error Index

A

The error index is an arbitrary value by which to quantify the quality, in terms of eros in code of SD. The EI is determined for a product as a whole and derived from an error index at every phase of development known as Phase Index (PI). See number of errors per dev/team, errors by functionality etc.

81
Q

Defect Amplification

A

This is when a defect in development is not detected and such amplifies its negative effect on the product in subsequent phases.