Резюме
Мне нужно модернизировать приложение, написанное на Фортране, которое, короче говоря, отвечает за демографические прогнозы на годы.Таким образом, у меня есть начальная популяция, приведенная в качестве входных данных.Эта начальная популяция классифицируется по возрасту, то есть сумма всех чисел за год представляет общую численность населения за этот год.
Давайте посмотрим на данные за несколько секунд.
Year: 2009
Age 0: 43786.0000
Age 1: 42997.0000
Age 2: 42656.0000
...
Age 99: 2439.0000
Затем мы должны спроектировать 2010 год в соответствии с определенным коэффициентом смертности, установленным таким же образом, как это вышеупомянутое начальное население, за исключением того, что он включает показатели вместо итогов за год.
Year: 2009
Age 0: 0.000213345
Age 1: 0.000212543
Age 2: 0.000201938
...
Age 99: 0.04824421
Age 106: 0.50000000
Идея состоит в том, чтобы сгруппировать эти объекты по классам.Я уже спроектировал один, и мне интересно, можно ли его каким-то образом улучшить.
Цель
Упростить дизайн и внедрить статистические данные.вычисления в классах объектов, чтобы при необходимости их было легче тестировать и проверять.
Фактическая диаграмма классов
Я чувствую, что это можно улучшить.Для вашей информации и удобства чтения приведем индекс французских терминов, используемых на диаграмме:
TauxFeconditeAnnuel -> Annual Fecondity Rate
TauxMortaliteAnnuelle -> Annual Death Rate
PopulationAnnuelle -> Annual Population
SoldeMigratoireAnnuel -> Annual Net Migration
StatistiqueAnnuelle -> Annual Statistic
StatistiqueAnnuelleParSexe -> Annuel Statistic per Sex
Я размышляю о том, включать или нет экземпляр класса Death Rate в класс PopulationAnnuelle.Существуют показатели смертности на начальный год населения и следующие 96 лет прогнозирования.Кроме того, ежегодная численность населения должна иметь свой уровень смертности, и ежегодная численность населения не обязана существовать, чтобы у меня была смертность в этом году.
Допустим, у меня есть первоначальная численность населения на 2009 год, у меня естьпока не прогнозируется численность населения на 2010, 2011, 2012 и т. д. до 2105. Тем не менее, у меня есть прогнозы смертности на все эти годы, и прирост населения основан на этих показателях смертности, чтобы определить, какое население остается живым и сколько смертеймы получили и т. д.
Я подумал о том, чтобы поместить класс PopulationAnnuelle в качестве базового класса для моей модели, хотя я чувствую, что StatistiqueAnnuelle больше подходит для этой работы, а затем заставляет PopulationAnnuelle наследовать ее.*
Вопросы
- Что вы думаете о моих проблемах?
- Какой лучший дизайн основан на том, что я хочувыполнить?
- Должен ли я использовать StatistiqueAnnuelle в качестве базового класса / интерфейса и сделать другие, такие как TauxMortalite, PopulationAnnuelle и т. д. происходят от этого, немного похоже на то, как это теперь разработано?
Любые приемлемые мысли будут одобрены лично мной.Самый точный и помогающий ответ будет принят в качестве ответа на мой вопрос.
Спасибо за вашу помощь и поддержку!=)
Можете ли вы определить для нас наиболее важные случаи использования / сценарии?(Адриан К)
Распространенным возможным вариантом использования / сценарием будет планирование потребностей в пенсионных планах на основе роста населения.После того, как количество людей будет «предсказано», вы можете рассчитать количество людей, которые будут вносить взносы в пенсионный план, и людей, которые выйдут на пенсию, а затем оценить потребности в финансировании, которые вкладчики должны будут заплатить, чтобы средства пенсионного плана былиу меня будет достаточно денег, чтобы выплачивать им пенсии позже, когда они выйдут на пенсию и т. д.
Другим возможным распространенным сценарием будет страховая компания.Основываясь на росте населения, статистика использования страховых услуг позволит компании прогнозировать потребности своих источников финансирования и устанавливать ежемесячный платеж для данной суммы покрытия на основе возмещений за несчастные случаи в сравнении с входными ежемесячными платежами за возраст, например, для страхования автомобилей..
Это упражнение называется оценкой.