Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Chapter 11 #7

Merged
merged 6 commits into from
Nov 24, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add Factors Affecting System Development Success
  • Loading branch information
Kayzels committed Nov 24, 2022
commit 099c57161194ab7b094c850358c655d1b5fde0dd
7 changes: 7 additions & 0 deletions .vscode/ltex.hiddenFalsePositives.en-GB.txt
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,10 @@
{"rule":"POSSESSIVE_APOSTROPHE","sentence":"^\\QA systems development approach that employs tools, techniques, and methodologies designed to speed application development.\\E$"}
{"rule":"POSSESSIVE_APOSTROPHE","sentence":"^\\QAdvantages Disadvantages Puts an application into production sooner than any other approach Can burn out systems developers and other project participants Documentation is produced as a by-product of completing project tasks Requires systems analysts and users to be skilled in RAD systems development tools and RAD techniques.\\E$"}
{"rule":"AGREEMENT_SENT_START","sentence":"^\\QAdvantages Disadvantages Puts an application into production sooner than any other approach Can burn out systems developers and other project participants Documentation is produced as a by-product of completing project tasks Requires systems analysts and users to be skilled in RAD systems development tools and RAD techniques.\\E$"}
{"rule":"POSSESSIVE_APOSTROPHE","sentence":"^\\QPoor problem definition and analysis Follow a standard systems development approach.\\E$"}
{"rule":"POSSESSIVE_APOSTROPHE","sentence":"^\\QFollow a standard systems development approach.\\E$"}
{"rule":"POSSESSIVE_APOSTROPHE","sentence":"^\\QImplement a standards system.\\E$"}
{"rule":"POSSESSIVE_APOSTROPHE","sentence":"^\\QUsed to measure organisational experience with the systems development process.\\E$"}
{"rule":"THE_SUPERLATIVE","sentence":"^\\QEach activity has an earliest start time, earliest finish time, and slack time.\\E$"}
{"rule":"AGREEMENT_SENT_START","sentence":"^\\QAdvantages Disadvantages Produce systems with a longer effective operational life.\\E$"}
{"rule":"POSSESSIVE_APOSTROPHE","sentence":"^\\QTools that automate many of the tasks required in a systems development effort, and encourage adherence to the SDLC.\\E$"}
2 changes: 1 addition & 1 deletion notestyles.sty
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
\usepackage{amsmath}

% Lists
\usepackage{enumitem}
\usepackage[inline]{enumitem}
\newcommand\itemname[1][]{\item{\bfseries #1}}
\newcommand\question[1]{\item{\bfseries #1\\}}

Expand Down
95 changes: 95 additions & 0 deletions units/part04/chapter11.tex
Original file line number Diff line number Diff line change
Expand Up @@ -184,5 +184,100 @@
An approach to creating computer code based on natural selection. Initially random code evolves through numerous iterations to become a program that solves a set problem.
\end{definition}

\section{Factors Affecting System Development Success}
\begin{sidenote}{Factors Affecting System Development Success}
\begin{itemize}[nosep]
\item Involvement
\item Degree of Change
\item The ability to manage change
\item Quality of project planning, and standards
\end{itemize}
\end{sidenote}
\begin{sidenote}{Project Planning Issues}
\begin{center}
\begin{tblr}{colspec={>{\raggedright}X>{\raggedright}X}, row{1}={font=\bfseries}, row{even}={white}}
Factor & Countermeasure\\
\midrule
Solving the wrong problem. & Establish a clear connection between the project and organisational goals.\\
Poor problem definition and analysis & Follow a standard systems development approach.\\
Poor communication & No easy solution.\\
Project is too ambitious & Narrow the project focus to address only the most important business opportunities.\\
Lack of top management support. & Identify the senior manager who has the most to gain from the success of the project, and recruit this person to champion the project.\\
Lack of management and user involvement. & Identify and recruit key stakeholders to be active participants in the project.\\
Inadequate or improper system design. & Follow a standard systems development approach.\\
Lack of standards. & Implement a standards system.\\
Poor testing and implementation. & Plan sufficient time for this activity.\\
Users cannot use the system effectively & Develop a rigorous user training program, and budget sufficient time in the schedule to execute it.\\
Lack of concern for maintenance. & Include an estimate of employee effort and costs for maintenance in the original project justification.
\end{tblr}
\end{center}
\end{sidenote}
\begin{definition}{Capability Maturity Model (CMM)}
Used to measure organisational experience with the systems development process. A measure of the maturity of the software development process in an organisation. CMM grades an organisation's systems development using five levels:
\begin{center}
\begin{enumerate*}[nosep, itemjoin={\quad}]
\item Initial
\item Repeatable
\item Defined
\item Managed
\item Optimised
\end{enumerate*}
\end{center}
\end{definition}
\subsection{Use of Project Management Tools}
\begin{definition}{Project Management}
The planning, scheduling, directing, and controlling of human, financial, and technological resources for a defined task whose result is achievement of specific goals and objectives.
\end{definition}
\begin{definition}{Project Schedule}
A detailed description of what is to be done. Each project activity, the use of personnel and other resources, and expected completion dates are described.
\begin{indentparagraph}
\begin{description}[nosep]
\item[Project Milestone] A critical data for the completion of a major part of the project.
\item[Project Deadline] The data the entire project is to completed and operational.
\end{description}
\end{indentparagraph}
Each activity has an earliest start time, earliest finish time, and \concept{slack time}.
\begin{indentparagraph}
\begin{description}[nosep]
\item[Slack Time] The amount of time an activity can be delayed without delaying the entire project.
\item[Critical Path] All the activities that, if delayed, would delay the entire project. These activities have zero slack time.
\end{description}
\end{indentparagraph}
\end{definition}
\begin{definition}{Program Evaluation and Review Technique (PERT)}
A formalised approach for developing a project schedule. It creates three time estimates for an activity: shortest possible time, most likely time, and longest possible time.
\end{definition}
\begin{definition}{Gantt chart}
A graphical tool used for planning, monitoring, and coordinating projects. Essentially a grid that lists activities and deadlines.
\end{definition}
\begin{definition}{Project Management Software}
Software that monitors all project activities, and determines whether activities and the entire project are on time, and within budget.

Has workgroup capabilities to handle multiple projects, and to allow a team to interact with the same software.

Both PERT and Gantt techniques can be automated using this software.
\end{definition}
\subsection{Use of Computer-Aided Software Engineering}
\begin{definition}{Computer-Aided Software Engineering (CASE)}
Tools that automate many of the tasks required in a systems development effort, and encourage adherence to the SDLC.
\begin{indentparagraph}
\begin{description}
\item[Upper-CASE Tools] Tools that focus on activities associated with the early stages of systems development. These packages provide automated tools to assist with systems investigation, analysis and design activities.
\item[Lower-CASE Tools] Tools that focus on the implementation stage of systems development, and can automatically generate structured program code.
\end{description}
\end{indentparagraph}
\end{definition}
\begin{sidenote}{Advantages and Disadvantages of CASE Tools}
\begin{tblr}{colspec={>{\raggedright}X|>{\raggedright}X}, row{1}={font=\bfseries}, row{even}={white}}
Advantages & Disadvantages\\
\midrule
Produce systems with a longer effective operational life. & Increase the initial costs of building and maintaining systems.\\
Produce systems that more closely meet user needs and requirements. & Require more extensive and accurate definition of user needs and requirements.\\
Produce systems with excellent documentation. & Can be difficult to customise.\\
Produce systems that need less systems support. & Require more training of maintenance staff.\\
Produce more flexible systems. & Can be difficult to use with existing systems.
\end{tblr}
\end{sidenote}

\vbox{\rulechapterend}
\end{document}