Software Engineering and Project Management Module 4 & 5
Software Engineering and Project Management Module 4 & 5
Requirement Analysis:
➢ Requirements gathering which establishes what the potential users and their managers
require of the new system.
➢ It could be relating to a function that the system should do something.
Architecture Design:
➢ Diagrammatic representation of the project which we going to do
➢ The components of the new system that fulfill each requirement have to be identified.
➢ Existing components may be able to satisfy some requirements and new components
will have to be made.
➢ These components are not only software; they could be new hardware or work
processes. Although software developers are primarily concerned with software
components
Detailed Design:
➢ Each software component is made up of a number of software units which can be
separately coded and tested.
➢ The detailed design of these units are carried out separately.
Plan:
➢ The controlling document for the software project.
➢ Specifies the technical and managerial approaches to develop software project.
Method:
➢ It is a procedure or process for attaining an object.
➢ Such as a systematic procedure, technique or mode of inquiry employed by or proper
to a particular discipline or a systematic plan followed in presenting material for
instruction.
➢ In other words, a method refers to a single action, tool, technique, process or way of
doing something.
Methodology:
➢ It is a body of methods, rules, and postulates employed by a discipline, a particular
procedure or set of procedures.
➢ Essentially a methodology is a collection of methods, practices, processes, techniques,
procedures and rules.
➢ Examples: Waterfall Methodology, Agile Methodology, Scrum Methodology, Kanban
Methodology, Scrum ban Methodology. etc.
3. Outsourced Project: Most of the companies outsource parts of its work to other
companies. There can be several reasons to outsource project, e.g. company does not have
sufficient expertise, or project is to be completed in limited period in that case it can be
outsourced to company with their development centre.
Outsourced project fetches one-time revenue in good amount while product based company
project earns over period of time.
4. Object-Driven Development: Project also vary depending on the aim of the project.
If aim of the project is to create product, then client has the responsibility for justifying the
product. In that case Service level agreements are important as organisations contract out
functions to external service suppliers.
Stakeholders: These are the people who have a stake or interest in the project.
Stakeholders can be categorised as:
1. Internal to project team: These will be under the direct managerial control of the project
leader.
2. External to project team but within the same organization: For example, the project
leader might need the assistance of the users to carry out systems and testing.
3. External to both project team and the organisation: External stakeholders may be
customers (or users) who will benefit from the system that the project implements. They may
be contractors who will carry out work for the project.
➢ The objectives should define what the project team must achieve for project success.
➢ Although, different stakeholders have different motivations, the project objectives
identify the shared intensions for the project.
➢ The objectives focus on the desired outcomes of the project rather than the tasks within
it.
➢ Informally the objectives could be written as a set of statements following the opening
words ‘the project will be a success if…’
➢ Thus one statement in a set of objectives might be ‘customers can order our products
online’ rather than ‘to build an e-commerce website’.
➢ There may be several stakeholders, including users in different business areas, who
might have some claim to project ownership.
➢ In such a case, a project authority needs to be explicitly identified with overall authority
over the project.
➢ The authority is a project steering committee with overall responsibility for setting,
monitoring and modifying the objects.
➢ The project manager runs the project on a day-to-day basis, but regularly reports to the
steering committee.
S-Specific:
M-Measurable:
➢ There should be a measures of effectiveness which tell us how successful the project
has been.
➢ For example: ‘to reduce customer complaints’ would be more satisfactory than ‘to
improve customer relations’
➢ In some cases, be an answer to simple yes/no question. Ex: did we install new software
by July 1?
A-Achievable:
➢ It must be within the power of the individual or group to achieve the objectives.
R-Relevant:
➢ There should be a defined point in time by which the objective should have been
achieved.
Example: A new web-based application might allow customers from all over the world to
order a firm’s products via the internet, increasing sales and thus increasing revenue and
profits.
Any project plan must ensure that the business case is kept intact(un-touched).
➢ That development costs are not allowed to rise to a level which threatens to exceed
the value of benefits.
➢ That the features of the system are not reduced to a level where the expected benefits
cannot be realised.
➢ That the delivery date is not delayed so that there is an unaccepted loss of benefits.
➢ Top Management Support: Lack of executive support can lead project failure so
Positive Executive Support positively influence project outcome.
➢ Client Involvement
➢ Experienced Project Manager
➢ Setting clear objectives
➢ Defined scope
➢ You must define what success looks like for your project or else you won’t know if you
have achieved it.
➢ Document the success criteria and get everyone to agree to them.
➢ Use continuous measurements where possible.
➢ Baseline today’s performance so you know where you are starting from
➢ Track as appropriate and report on your progress
Project Failure: A project that fails to perform a duty or an expected action, on-occurrence
or non-performance.
Management: defines all activities and tasks undertaken by one or more persons for the
purpose of planning and controlling the activities of others in order to achieve objectives or
completes an activity that could not be achieved by others acting independently.
Management Activities:
➢ Planning: deciding what is to be done
➢ Organizing: Making the arrangements
➢ Staffing: Selecting the right people for the job
➢ Directing: Giving instructions
➢ Monitoring: Checking on the progress
➢ Controlling: Taking actions to remedy hold-ups
➢ Innovating: Come up with solution when any problems emerge
➢ Representing: Liaising with clients, users, developers and other stakeholders.
Management Control:
It involves setting objectives for a system and then monitoring the performance of the
system.
1. Project Initiation:
This is the starting period of your project when you should demonstrate the undertaking has
value and is feasible. This stage incorporates making a business case, to legitimize the
requirement for the undertaking, and an achievable study to show that it very well may be
executed within a sensible time and cost. This is likewise an opportunity to make a task
contract, a record that sets out precisely the thing the venture will convey.
➢ Documentation: Each project has documentation that should be finished before the
undertaking can start vigorously.
➢ Undertaking a feasibility study: Identify the essential issue your task will tackle
and whether your venture will convey an answer for that issue
➢ Recognizing extension: Define the profundity and broadness of the undertaking.
➢ Assemble of the team: You need resources to execute any project. Before you can
make a project schedule, you need to create a project team with the skill sets and
experience that the project demands.
➢ Recognizing expectations: Define the product or administration to provide.
➢ In this phase, the project manager carries out several processes and creates the
following documents.
➢ Project Plan: This identifies the project tasks, and a schedule for the project tasks that
assigns project resources and time frames to the tasks.
➢ Resource Plan: It lists the resources, manpower and equipment that would be required
to execute the project
➢ Financial Plan: It documents the plan for manpower, equipment and other costs.
➢ Quality Plan: Plan of quality targets and control plans are included in this document.
➢ Risk Plan: Lists the identification of the potential risks, their prioritization and a plan
for the actions that would be taken to contain the different risks.
3. Project Execution:
The third stage is project execution, which is the place where most of the work occurs. This
is the stage where you complete the task exercises and achievements to create the
expectations for the customer’s or partner’s fulfilment by following the arrangement made in
the past stage. Enroute, the undertaking administrator will redistribute assets depending on
the situation to keep the group working. They will likewise attempt to recognize and relieve
hazards, manage issues, and fuse any changes.
➢ Assignment Management: To ensure an errand is done well, it must be dealt with
each progression in transit, from wanting to consummation. This includes observing
and answering to ensure the assignment is being executed within the period of the
arranged timetable. Venture directors and colleagues need to deal with their
undertakings. Assignment records and Kanban sheets are two mainstream apparatuses
for the task of the board.
➢ Timetable Management: Whenever you’ve arranged a timetable, you need to
screen it through the task execution to ensure it stays on target. A viable Schedule for
the executives implies more prominent efficiency. You’ve to define objectives, needs,
and cut-off times, presently as the undertaking errands are being executed, you must
ensure those dates are coordinated with your timetable.
➢ Cost Management: Similarly, as you arranged your timetable, you arranged a
financial plan. Yet, that doesn’t mean your task is finished. As anybody with a wallet
knows, cash tends to vanish. You need to control the venture expenses and keep them
inside the concurred spending plan.
➢ Quality Management: You can create your expectations on schedule and inside the
financial plan, yet if the quality is inadequate, the undertaking isn’t effective. In this
way, you need to ensure that you’re meeting whatever quality prerequisites have been
set by your partners.
4. Project Closure:
The fourth stage is project conclusion, in which the last expectations are introduced to the
customer or partner. When affirmed, assets are delivered, documentation is finished and
everything is approved. Now the venture supervisor and group can lead a posthumous to
assess the exercises gained from the project and gain from the experience. Contingent upon
the venture, the conclusion stage may likewise incorporate giving over control to an alternate
group, for example, the tasks supervisory crew. In this situation, it is the work of the venture
supervisor to guarantee that such a change happens easily.
➢ Move Deliverables: Your venture is tied in with creating a deliverable. That
denotes the finish of the venture execution and the start of the task close.
Subsequently, ensure you have all expectations recognized, total, and given off to the
legitimate party.
➢ Affirm Completion: An undertaking isn’t over until everybody sings. You need to
get affirmation from all partners, customers, and even the group. That implies sign-
offs so that there is no disarray and a minute ago change demands. Those close-down
archives can be added to ProjectManager.com, either in the segment of the document
or joined to the applicable assignment. Presently you have an advanced paper trail to
settle on sure that everybody is in the arrangement.
➢ Audit Documentation: Typically, the venture supervisor is answerable for going
over all agreements and documentation to ensure that all have been great and
approved. Now and then in bigger associations, there is a devoted administrator for
this work. Whoever does it, the significance of ensuring each one is spotted and t
crossed couldn’t possibly be more significant.
➢ Delivery Resources: Before a task is truly done, you need to authoritatively deliver
the group, any contractors, rentals, and so forth Have an interaction set up to advise
and ensure everybody is settled up.
Traditional versus Modern Project Management Practices:
1. Planning Incremental Delivery:
➢ In olden days’ projects were planned with sufficient details much before the
actual project execution started.
➢ After the project initiation, monitoring and control activities work is carried
out to ensure that project execution proceeded as per plan.
➢ The modern day projects are required to be completed in much shorter
duration and rapid application development is used where the delivery of the
project is done in different stages.
2. Quality Management:
➢ In olden days’ customer used to adjust with the quality of the product but the
awareness of the quality has now increased significantly.
➢ Hence the project manager has the responsibility to monitor the progress as
well as the quality of the project.
Project Evaluation
➢ It is a process of measuring the success of any project.
➢ Cost, scope, Return On Investment (ROI), risks etc. It is carried at Three
stages:
1.Pre-project evaluation: Covers project planning, gains confidence of all stakeholders,
important for attracting investments.
2.On-going project evaluation: Project monitoring is done when project is running so that
project proceeds as per set plans.
3.Post-project evaluation: It finds out what worked? And what went wrong?
Risk Evaluation
➢ Project Risk: Which prevents the project from being completed successfully.
➢ Business Risk: Which prevents the project from being profitable.
The project risk matrix may be used as a way of evaluating projects (those with high risks
being less favored) or as a means of identifying and ranking the risks for a specific project.
Introduction:
➢ The quality of software can be defined as the ability of the software to function as per
user requirement.
➢ When it comes to software products it must satisfy all the functionalities written in the
SRS document.
1.Identify Project Scope and Objective: Some objectives could relate to the qualities of the
application to be delivered.
Dromey’s Model:
The Dromey proposed that software product quality depends on four major high level
properties of the software: Correctness, internal characteristics, contextual characteristics and
certain descriptive properties. Each of these high level properties of a software product, in turn
depends on several lower level quality attributes of the software, Dromey’s hierarchical quality
model is show in figure.
Characteristics Sub-Characteristics
Functionality Suitability, Accuracy, Security,
Functionality Compliance, Interoperability
Reliability Maturity, Fault tolerance, reliability,
Compliance ,recoverability
Usability Understandability, Operability,
Usability compliance, Learnability,
Attractiveness
Efficiency Time behavior, resource utilization,
Efficiency compliance
Maintainability Analyzability, Stability, Changeability,
Testability, Maintainability compliance
Portability Adaptability, install ability, Replace ability,
Coexistence,
Portability Compliance
1.Functionality: Which covers the functions that software product provides to satisfy user
needs.
Compliance: Refers to degree to which the software adheres to application-related standards or
legal agreements. Typically, these could be auditing requirements.
Interoperability: refers to ability software to interact with others.
2.Reliability: Which relates to the capability of the software to maintain its level of
performance.
Maturity: refers to frequency of failures due to fault in software more identification of fault
more chances to remove them.
Recoverability: describes the control of access to a system.
3.Usability: Efforts needed to use a software.
Understandability: It is a clear quality to grasp, although the definition attributes that bear on
the user efforts for recognizing the logical concept and its applicability in our view actually
makes it less clear.
Learnability: It is distinguished from operability. A software tool might be easy to learn but
time-consuming to use say it uses a large number of nested menus.
Process Metrics:
➢ Helps to measure how a development process is performing.
➢ Example: review effectiveness, average number of defects found per hour of inspection,
average defect correction time, productivity, average number of failures detected during
testing per LOC, and the number of latent defects per line of code in the developed
product.
TickIT:
The ISO 9000 standard refer to Quality Management System is general but in the UK, The
Department OF Trade and Industry (DTI) have formulated the TickIT standard which give an
interpretation of these standards and includes the following requirements.
➢ A detailed development plan is required before development is embarked upon.
➢ Change control procedures should be used at all stages of development
➢ Design reviews must be taken place.
➢ The suitability of the design methodology must have reviewed.
➢ Progress must be reviewed on a systematic basis.
➢ It must be possible to trace back the features of the software design to specification and
requirements.
➢ Design must be properly documented.
➢ Suitable test plans, specifications and records must be produced.
➢ A code of practice must be in place which governs the way the software is developed.
➢ The code of practice must include the requirements that the design must be broken
down into levels each with identifiable input and outputs.
Inspection:
When a piece of work is completed the copies of the work are distributed to co-worker
to identifies the defects. The involved colleagues must the experience in the similar area
such as a programmer always inspect the work of programmers.
➢ It is very effective way of removing superficial error from a piece of work.
➢ It motivates the programmer to produce a better structure and self-explanatory
program because they know that other peoples will criticizing it.
➢ It helps spread good programming practice because the participants discuss the
advantages and dis-advantages of specific pieces of code.
➢ It can enhance team spirit.
Formal Methods:
➢ In the clean room development, the sue of mathematical verification techniques
was mentioned.
➢ These techniques used un-ambiguous.
➢ Mathematically-based, specification is used to define pre-conditions and post
conditions for each procedure.
➢ Pre-conditions define the allowable states, before processing or the various
items of data that a procedure is to work upon.
➢ The post-conditions define the state of these data items after the procedure has
been executed.
Testing:
➢ The final judgement of the quality of a software application is whether it
actually works correctly when executed. This looks at aspects of the planning
and management of testing.
➢ This estimate of the work still to be done depends on an unknown, the number
of bugs left in the code. We will briefly discuss how we can deal with this
problem.
➢ It is the process used to identify the correctness, completeness and quality of
developed software.
➢ It is the process of executing a program/application under positive and negative
conditions by manual or automated means. It checks for the Specification,
Functionality, Performance.
Objectives:
➢ Uncover as many as errors(bugs) as possible in a given product
➢ Demonstrate a given software product matching its requirement specifications.
➢ Validate the quality of a software testing using the minimum cost and efforts.
➢ Generate high quality test cases, perform effective tests and issue correct and
helpful problem reports.
Testing Methodologies:
Black box testing:
➢ No knowledge of internal program design or code required.
➢ Tests are based on the requirements and functionality
Test Case:
It is a specific procedure of testing a particular requirement.
It will Include:
➢ Identification of specific requirement tested.
➢ Test case success/failure criteria
➢ Specific steps to execute test
➢ Test the data.
Testing Levels:
1.Unit Testing
2.Integration Testing
3.System testing
1.Unit Testing:
➢ Tests each module individually
➢ Follows a white box Testing (Logic of the program)
➢ Done by the developers.
2.Integration Testing:
➢ Once all the modules have been unit tested, integration testing is performed.
➢ It is a systematic Testing.
Testing Activities:
Testing involves performing the following main activities:
1.Test Planning:
➢ It consists of determining the relevant test strategies and planning for any test bed that
may be required.
➢ A suitable test bed is an especially important concern while testing embedded
applications. A test bed is usually includes setting up the hardware or simulator.
2.Test Suite Design:
➢ Planned testing strategies are used to design the set of test cases (called test suite) using
which a program is to be tested.
3.Test Case Execution and Result Checking:
➢ Each test case is run and the results are compared with the expected results.
➢ A mismatch between the actual result and expected results indicates a failure.
➢ The test cases for which the system fails are noted down for test reporting.
4. Test Reporting:
➢ When the test cases are run, the tester may raise issues, that is, report discrepancies
between the expected and actual findings.
➢ A means of formally recording these issues and their history is needed.
➢ A review body adjudicates these issues. The outcome of this scrutiny would be one of
the following: