تعریف دقیق نیازمندیها در معماری نرمافزار حیاتی و عباراتی مانند «سریع»، «پاسخگو» یا «قابل گسترش» به خودی خود کافی نیستند؛ زیرا معیاری برای سنجش آنها وجود ندارد. با این حال، کاربران همچنان این ویژگیها را میخواهند. نقش معمار این است که این ویژگیها را تا حد امکان فراهم کرده و بین تضادهای احتمالی آنها تعادل ایجاد کند.
اگر این نیازها بهطور مشخص و قابل اندازهگیری بیان نشوند، هیچ مبنایی برای پذیرش سیستم توسط کاربران وجود نخواهد داشت و راهنمایی ارزشمندی از مهندسان در حین کار گرفته میشود. در نتیجه، معماران باید تلاش کنند این نیازها را با سوالاتی مانند «چقدر؟»، «در چه مدت زمانی؟»، «چند بار؟»، «چقدر سریع؟» و غیره به مقادیر دقیق تبدیل کنند. اگر این اطلاعات در برنامه تجاری سیستم نیست، باید علت آن را جستجو کرد و آنها را دریافت.
همچنین باید نیازمندیهای نامشخص را بهصورت محدودهای تعریف کرد: حداقل، مطلوب، و حداکثر. اگر این محدودهها مشخص نشوند، یعنی رفتار مورد نظر سیستم بهدرستی درک نشده است. این کار ممکن است وقتگیر و هزینهبر باشد، اما اگر هیچکس بهاندازه کافی به عملکرد اهمیت ندهد که هزینه تستهای عملکرد را بپردازد، احتمالاً عملکرد مهم نیست و میتوان روی جنبههای دیگر تمرکز کرد.
برای مثال، نیازمندیهایی مثل: «باید به ورودی کاربر در حداکثر ۱۵۰۰ میلیثانیه پاسخ دهد. تحت بار عادی (تعریف شده بهعنوان...) زمان پاسخگویی بین ۷۵۰ تا ۱۲۵۰ میلیثانیه باشد. پاسخگویی زیر ۵۰۰ میلیثانیه توسط کاربر قابل تشخیص نیست، بنابراین برای کمتر از این مقدار هزینه نخواهیم کرد»، نیازمندیهای واقعی هستند. "نیازمندیهایی مثل 'سریع' و 'قابل گسترش' بدون معیار مشخص بیفایدهاند. برای تعریف درست، اعداد و محدودهها را مشخص کنید: چقدر سریع؟ چند کاربر؟ چه زمانی؟ اگر برای تست عملکرد هزینه نمیشود، شاید اصلاً مهم نباشد." #TIP-10
تعریف دقیق نیازمندیها در معماری نرمافزار حیاتی و عباراتی مانند «سریع»، «پاسخگو» یا «قابل گسترش» به خودی خود کافی نیستند؛ زیرا معیاری برای سنجش آنها وجود ندارد. با این حال، کاربران همچنان این ویژگیها را میخواهند. نقش معمار این است که این ویژگیها را تا حد امکان فراهم کرده و بین تضادهای احتمالی آنها تعادل ایجاد کند.
اگر این نیازها بهطور مشخص و قابل اندازهگیری بیان نشوند، هیچ مبنایی برای پذیرش سیستم توسط کاربران وجود نخواهد داشت و راهنمایی ارزشمندی از مهندسان در حین کار گرفته میشود. در نتیجه، معماران باید تلاش کنند این نیازها را با سوالاتی مانند «چقدر؟»، «در چه مدت زمانی؟»، «چند بار؟»، «چقدر سریع؟» و غیره به مقادیر دقیق تبدیل کنند. اگر این اطلاعات در برنامه تجاری سیستم نیست، باید علت آن را جستجو کرد و آنها را دریافت.
همچنین باید نیازمندیهای نامشخص را بهصورت محدودهای تعریف کرد: حداقل، مطلوب، و حداکثر. اگر این محدودهها مشخص نشوند، یعنی رفتار مورد نظر سیستم بهدرستی درک نشده است. این کار ممکن است وقتگیر و هزینهبر باشد، اما اگر هیچکس بهاندازه کافی به عملکرد اهمیت ندهد که هزینه تستهای عملکرد را بپردازد، احتمالاً عملکرد مهم نیست و میتوان روی جنبههای دیگر تمرکز کرد.
برای مثال، نیازمندیهایی مثل: «باید به ورودی کاربر در حداکثر ۱۵۰۰ میلیثانیه پاسخ دهد. تحت بار عادی (تعریف شده بهعنوان...) زمان پاسخگویی بین ۷۵۰ تا ۱۲۵۰ میلیثانیه باشد. پاسخگویی زیر ۵۰۰ میلیثانیه توسط کاربر قابل تشخیص نیست، بنابراین برای کمتر از این مقدار هزینه نخواهیم کرد»، نیازمندیهای واقعی هستند. "نیازمندیهایی مثل 'سریع' و 'قابل گسترش' بدون معیار مشخص بیفایدهاند. برای تعریف درست، اعداد و محدودهها را مشخص کنید: چقدر سریع؟ چند کاربر؟ چه زمانی؟ اگر برای تست عملکرد هزینه نمیشود، شاید اصلاً مهم نباشد." #TIP-10
Telegram and Signal Havens for Right-Wing Extremists
Since the violent storming of Capitol Hill and subsequent ban of former U.S. President Donald Trump from Facebook and Twitter, the removal of Parler from Amazon’s servers, and the de-platforming of incendiary right-wing content, messaging services Telegram and Signal have seen a deluge of new users. In January alone, Telegram reported 90 million new accounts. Its founder, Pavel Durov, described this as “the largest digital migration in human history.” Signal reportedly doubled its user base to 40 million people and became the most downloaded app in 70 countries. The two services rely on encryption to protect the privacy of user communication, which has made them popular with protesters seeking to conceal their identities against repressive governments in places like Belarus, Hong Kong, and Iran. But the same encryption technology has also made them a favored communication tool for criminals and terrorist groups, including al Qaeda and the Islamic State.
Should You Buy Bitcoin?
In general, many financial experts support their clients’ desire to buy cryptocurrency, but they don’t recommend it unless clients express interest. “The biggest concern for us is if someone wants to invest in crypto and the investment they choose doesn’t do well, and then all of a sudden they can’t send their kids to college,” says Ian Harvey, a certified financial planner (CFP) in New York City. “Then it wasn’t worth the risk.” The speculative nature of cryptocurrency leads some planners to recommend it for clients’ “side” investments. “Some call it a Vegas account,” says Scott Hammel, a CFP in Dallas. “Let’s keep this away from our real long-term perspective, make sure it doesn’t become too large a portion of your portfolio.” In a very real sense, Bitcoin is like a single stock, and advisors wouldn’t recommend putting a sizable part of your portfolio into any one company. At most, planners suggest putting no more than 1% to 10% into Bitcoin if you’re passionate about it. “If it was one stock, you would never allocate any significant portion of your portfolio to it,” Hammel says.