Professional Documents
Culture Documents
SPM Mid Term Ned
SPM Mid Term Ned
Answer 1
1. The code should be well optimized and broken down into multiple modules/components so that whenever there
is any change required rather than refactoring whole code only one module/component should be worked upon
which helps in reducing time and man power.
2. The code should be backed up on a regular basis most likely by using a version control software such as GitHub
so that in case of any mishap while changing code if any thing causes conflict the original working code can be
recovered and reviewed easily.
3. Testing the new changes simultaneously while it is getting developed can also reduce deterioration as it ensures
that ongoing changes dont break existing functionality. Regular code reviews can also help in improving
implementation to avoid any future issues.
4. In case some main developers are not availible the development process should not stop and to ensure that
regular documentation and developer comments are really important in case some new developer steps in it
would be much easier for him to write code that would seamlessly go with other part of functionality while
keeping deterioration risk at minimum.
5. If the code uses third party components those should also be regularly updated to avoid any known bugs that
have been patched by the provider.
6. Agile Development practices should also be followed that ensures flexibility and responsiveness to change, which
can easily adapt to the need modern apps that requires frequent change.
Potential Benefits:
2) Cost Reduction:
Reduces the cost of manpower and material required to manage and execute tasks manually
3) More Efficient
The system will reduce time to fill applications and improve turn around time for communication with the employers.
Potential Cost:
1) Development Cost
One time cost will include hardware configuration and software development
2) Operational Cost
Operational cost will include software and hardware maintenance to keep it up-to date and running. Also additional data
storage can also be required if the size of data exceeds limit of the working server.
DCF technique uses time value of money by applying a discount rate on future cash flows which implicates that the
ROI and intrest amount earned will be of less worth later then it is now hence by considering net profit and ROI
results in incomplete evaluation of projects financial profitability
DCF techniques inherently incorporate the element of risk by discounting future cash flows at a rate that reflects the
project's risk profile. This provides a more realistic assessment of a project's potential returns, considering the
uncertainty surrounding future cash flows.
3. Comprehensive Evaluation:
DCF considers all cash flows (inflow/outflow) including initial investment throughout the project timeline rather then
just considering net profit which only accounts to income and expenses
4. Consistency in Comparison:
DCF can compare different projects of various lifespans by comparing NPV or IRR which helps investors to determine
which offers best ROI.
Answer 4
Option 1: Buying off-the-shelf software (£50,000)
Costs:
1. Buy Cost: £50000
2. Annual Maintenance (assumed): £2000
3. Implementation time (assumed): 1 week
4. Expected Lifespan(assumed): 3 years
Benefits:
1. Quick Implementation
2. Customer Support
3. No additional resource required
Option 2: Getting an inhouse dev for six months (£5000 salary per month)
Costs:
1. Programmer's salary for six months: £5000/month
2. Programmer Allowances (assumed): 10% of salary
3. Development Time: 6 months
Benefits:
1. Fully Customizable and Scalable
2. In-house support from developer
According to the above stated assumptions if the college don’t require any major changes within 3 years and keeping the
annual maintenance cost as same as off the shelf, in-house development is the best approach to go with as compared to
off the shelf because the programmer is able to successfully develop with both timeframe and budget
Answer 5
(a) Product Breakdown Structure (PBS)
1. Library Automation System
• 1.1 Hardware
• 1.1.1 Server
• 1.1.2 Workstations
• 1.1.3 Network infrastructure
• 1.1.4 Peripherals (printers, scanners, etc.)
• 1.2 Software
• 1.2.1 Database Management System (DBMS)
• 1.2.2 Core application modules:
• 1.2.2.1 Book issuing
• 1.2.2.2 Book returning
• 1.2.2.3 Fine collection
• 1.2.2.4 Book availability query
• 1.2.3 User interface
• 1.2.4 Reporting and analytics tools
• 1.3 Data
• 1.3.1 Existing book data (CSV file)
• 1.3.2 User data
• 1.3.3 Transaction data
Answer 6
(a)Reasons for Building a Prototype
Feedback: Users can interact with initial system and identify usability problems missing features and can be further
worked upon based on the user feedback. This can save both time and money to avoid costly rework.
Risk Reduction: By testing key features and functionalities the dev team can identify potential risk of failure so a
prototype can insure how to negate/mitigate those risk early on
Requirement gathering: By using a prototype users can provide more user/system centric feedback as they have a visual
representation which they can interact with which can furthermore help in identify more accurate requirements
Clear Scope: identify features, functionalities and limitations so that important aspects of the prototype can be
prioritized
Iterative approach: Using first prototype to identify and resolving issues and build upon it in an iterative manner and
refine it until it meets the required needs
Defining Objectives: Clearly defined goals can help in making an accurate prototype so it’s crucial to decide what
problem needs to be addressed with this prototype which can result in a fully functional system.