专栏首页简单就是美!Pass SCEA Part II and Part III experience UMLSUNGoUPJSP

Pass SCEA Part II and Part III experience UMLSUNGoUPJSP

阅读更多

1. Digest the requirements:

Read the requirements very carefully and understand it. Take at least ten days to digest all the requirements because it is not complete and confusing at times. Grasp everything and have a big picture always. Give yourself a lot of time to understand repeatedly before put your hands on solving the problem. Where ever you have problem understanding or you find that something is missing make a not of it. This will help you make some assumptions later.

2. Class Diagram:

I started the part2 with Class diagram based on the Domain model and identified the Subsystems. I had only one class diagram with 15 classes and 5 subsystems. I was very careful about the Associations, aggregation, composition, navigatability, relationships (Classification, Generalization, Dependency, Realization) and cardinalities. I identified whatever attributes required and its accessibility to have in every class. I did not mention any operations or methods in the class diagram. For some of the classes I did not even give any attributes. I gave all the relationships some name that explains the interactions between the classes. I was very careful in giving the Stereotypes wherever required.

Do not get into too much detail and view everything from high level. That is what is expected for this architect level exam. At the same time make sure that do not lose anything. It is very important that how best you make others understand especially the marker with one class diagram. I have seen others break down the class diagram into more than one class diagram. Detailed class diagram is not necessary at this architecture level and will make others confuse and complicate the things rather than help understand

easily.

Component/Collaboration I cannot advice much here bcos I haven't scored 100%.

3. Component Diagram:

I divided the whole requirement into subsystems and made component diagrams for each subsystems. I have heavily used J2EE design patterns.

4. Sequence Diagram:

I made just one sequence diagram for each use case. Some of the use case may be little complicated to explain within a single page. Better to split the sequence diagram in this case so that it is not cluttered and complete the whole sequence.

5. Deployment diagram:

I had one deployment diagram according to the requirement. The deployment requirement was clear about the physical locations and machines. When I made the deployment diagram I was pretty clear where when the right protocols are being used and how the subsystems, legacy systems interact. Here I mentioned which component goes where and how each type of client accesses the system. Even though providing the deployment diagram is not a requirement I would suggest for your own sake and for the

examiner create a neat diagram.

6. Framework:

Even though I went through Struts and Petstore architecture I did not use any of them. I designed my own framework and used it for the exam. However whatever framework you use it should be portable and should support the non-functional requirements.

7. Consistency:

Once you made all the diagrams check for consistency with all diagrams. Go through each diagram and try to improve the diagrams to satisfy all the functional requirements. Every time you make any changes to any diagram ensure the consistency among all the diagrams and assumptions.

8. Assumptions document:

This is the piece I had little trouble with which many guys had not a problem. I did not know what kind of assumptions and at what level do I need to make assumptions. Out of patience I made 2-3 pages of assumptions. My suggestion is that we don't need to go into too much detail here again.

9. Tools

UML Diagrams: As per the requirement all the diagrams should be UML compliant. I

used MagicDraw for Class Diagram and Component Diagram. When I started sequence diagram this tool did not let me allow drawing more than certain number of objects because I had the evaluation version. So I had to make the sequence diagram in Rational Rose. My suggestion is that adopt a good tool.

Documentation: For documentation use a neat HTML tool like FrontPage. Do not clutter the document with unnecessary fine details; the marker may not have patience to go through the entire document. So make it simple and neat and do not miss any essential points.

10. Service level /Non-functional requirements:

The non-functional requirements in J2EE architecture are performance, scalability, reliability, availability, manageability, extensibility, maintainability and security

11.Uploading the assignment:

Once done with the assignments revisit all the diagrams and assumption document. Try to make it smaller size. I heard that some people had problem uploading because of the fat assignment. I had problem uploading because I did not have access right to upload. I sent a mail to Prometric asking permission and got it the same day luckily. So make sure that you have access right to upload before the Part-III exam.

12. Part-III exam.

Give the Part-III exam ASAP. I uploaded the assignment the evening and gave the exam the next day afternoon during my lunch break. If you have done your architecture assignment according to the J2EE specification yourself Part-III is very simple. The four essay questions are basically to address the Non-functional requirements like performance, scalability, reliability, availability, manageability, extensibility, maintainability and security. Other things might include how are you taking care of your architecture to address transactions, persistence, authentication, authorization, et al. Here again my suggestion is to make it neat and simple. The marker does not need to be

explained with the theory behind transaction. Rather give him clear answer as to how did your design address the transaction.

13. Reading:

1.<SCEA by Mark Cade is a very good book for part-II. I based by level of design on the example given in this book. >

2. <Core J2EE patterns>

3. <Java Petstore Application from the Java blueprint>

4. serveside.com

5. <UML Distilled>

14. Exam Result:

This is the long wait for about 3-weeks to get the result and you cannot do anything but wait.

=================================================================================

As one or two people have emailed me for advice, I thought I'd pop up a few notes here on my take on how to approach parts 2 and 3 of the Java 2 Architect Certification. Note that I don't cover part 1 - that part is more than adequately covered by Aaron's notes and the messages on this group. I'm not sure if Aaron or somebody wants to pull these notes out and add them to a document in the files section of some sort?.. What follows is *my* approach to parts 2 & 3. I'm not saying this is how *you* should do it, but all I know is that this approach got me an over 90% score, which is more than good enough (in fact you only need 70% to pass). Please, please do not email with specific questions on design approaches and choices: that's what you are supposed to be doing as part of the certification. Do note, however, that there are many, many ways to 'skin a cat': Sun aren't hung up on you building the 'perfect' solution - it doesn't exist - but they are keen for you to show *why* you made certain decisions, and what the pro's and con's of different approaches you considered were. Anyway, here goes... 1. Read all the requirements documents supplied very, VERY carefully. The requirements supplied by Sun are, IMHO, incomplete, contradictory and confusing in places. Give yourself TIME to digest these documents - say at least a couple of weeks. Re-read them over and over again and MAKE NOTES as you go along of any assumptions you make - and YOU WILL have to make some assumptions. 2. Document your project submission properly. Don't just send off your submission with a quick list of what your diagrams are called and where they are located (you don't need this anyway as you'll HTML anchor them from your readme). Instead, write a proper, long HTML document that explains your approach. I had a section one which was my analysis of the project materials supplied, a section two which was my working assumptions coming out from the analysis (i.e. section one), a section three which was my design approach, and finally a section four which contained a brief description of my diagrams and HTML links to them. Make this document NEAT - get a decent HTML tool (i.e. don't just rely on Word) and TEST the neatness of your layout in at least two browsers. It may sound stupid, but you've no idea how many extra marks good, clean presentation can get you... 3. Don't get lost in the detail. I can't believe how much 'guess the detail' is exchanged in messages on the group! Remember, the submission is about OVERALL ARCHITECTURE, not how many EJBs/Beans/Servlets/JSPs/Classes/Methods etc., etc. you need, or whether Fly-By-Night should be doing this, or that, or the other. Don't loose sight of the BIG PICTURE - as that's what you are supposed to be presenting: a well-considered, reasonable, flexible architecture that serves the main goals of the requirements. Just because someone else on the group used an EJB/JSP/Servlet etc. where you used something different doesn't mean that your approach is wrong. Likewise, just because someone else has 50 more classes on their diagrams than you doesn't mean that you are missing something (in fact, I probably had half the number of classes I saw some people coming up with). Ditto the level of detail: don't litter you classes and diagrams with every method/attribute in the world; keep them simple, to the point, and easy to digest (remember, someone you'll never, ever meet has to read them and mark them - the last thing you'll want to do is confuse that individual.) 4. Books. I used the following three books *only* for part 2 & 3. I don't believe you need any others. Obviously if you don't understand these books when you read them, then you do need some others! However if you can't understand these 3 books, you shouldn't really be attempting the certification in the first place... Book 1: The Unified Modeling Language User Guide (Addison Wesley) - Booch, Rumbaugh & Jacobson. This book will help you with your diagrams no end. This is a longer book than Martin Fowler's UML distilled (also recommended if you are new to UML and want a quick taste) - and it repeats itself a lot - but it has better coverage of Component diagrams and stereotypes (er, and everything else UML). Book 2: Designing Enterprise Applications with the Java2 Platform, Enterprise Edition (Sun Microsystems Press). This book is a fairly easy read, and is the SUN BIBLE on architecturing J2EE applications. I would call you A FOOL if your submission did not follow the basic approaches detailed in the book (even if you don't agree with them.) The way I look at it, there is NO WAY Sun can fail your submission when you base it heavily on there own architecture book.

NB. The above book has a final chapter that talks about the Sun Java Petstore demo. Get yourself the latest copy of the code from the Sun site, and note that it has changed a bit from that listed in the book (esp. the use of XML to drive the request, event and screen processing). Study the petsore demo code and the book HARD. This took me weeks to go through in detail, but I learnt a lot. And hey, it's free!

Book 3: Java 2 Platform Enterprise Edition Platform and Component Specifications (Sun Microsystems Press). OK, you don't really NEED this, but I find I can't live without it. It is the printed version of the Servlet/JSP/EJB specs. on the Sun site. I found it more convenient to have them in one book than download everything and print it all out. This book goes into way more detail than you'll need for the project, but it's always good when you want some clarification on low-level detail. 5. Diagrams. Keep them clean and simple. I used Rational Rose. You can get a demo disk off them or download it from their site. This is the same tool that Sun used for the diagrams they supplied, and it's easy to save your work directly as HTML. Sorry I can't offer any more advice on other UML tools as Rational is the only one I've ever used. Use UML notes, stereotypes and sensible naming conventions to add clarity to your diagrams. Make sure you document your naming conventions in the document I listed above as part of your submission. Panic: Just three diagrams for the whole project submission! How on earth do I explain the universe of my submission in just three documents?!!! Like I said earlier, keep it SIMPLE. Don't put on any extraneous classes. For instance, I didn't put ANY GUI classes (JSP, Swing, etc.) on my Sequence Diagram. Why? Well, they just made the bloody thing too big! At the end of the day the GUI interface is just a 'request generator', so why not just show requests as the start of your sequence diagram elements? Better still, what about translating requests to events? All that machinery could clutter the diagram even further. So, LEAVE IT OFF. Just show events as the entry points on your Sequence diagrams... You see, in two simple steps you've halved the size of the Sequence diagram, leaving you to concentrate on showing how the Use Case Text's are actually processed by your 'back end' application architecture - and remember that's what you are being marked on: your ARCHITECTURE, not the VASTNESS of your diagrams. (NB. I got 100% for my Sequence diagram, so I must have got something right...

) Follow the same approach for all your diagrams - i.e. make sure they are logically consistent. This is pretty easy in Rose, as all your classes, etc. are stored in a repository, from which you select to place on your diagrams. A simpler tool may not offer this, so make sure you keep the consistency by checking all your diagrams side-by-side (and print them out first). 6. Follow-up exam. Take it as soon as you make your submission. Take a copy of the document you submitted along with your submission to the test centre and re-read it a couple of times before taking the exam (you won't be able to take this document in with you to the examining room, of course). The aim here is to make sure your exam replies are consistent with your submission. The exam questions are quite easy and fairly broad. Like the project, Sun wants you to concentrate on higher-level architectural choices, and the pro's and con's of various approachs, particularly the approach you chose for your submission. You will not be asked any detailed questions on EJBs/JSPs/etc., so relax!

The exam should take you no more than 10-15 minutes. I wasted time by not reading all the questions first, and therefore ended up repeating myself and having to go back and cut-n-paste answers around. Do yourself a favour and read all the questions first - I think there are only 4-5 of them anyway. Don't write too much. For detail, refer the examiner to the appropriate sections of the document you submitted. Spend some (most) of the huge amount of extra time you'll have left over by re-reading your answers and cleaning them up: layout, spelling, consistency and getting the detail balance right. Maybe expand some of your replies by detailing a few alternative approaches to those you used in your submission, and why you rejected them. Maybe also add a few notes on the 'real world' implications of your approach: for instance, if you keep state in stateful EJBs, would this state automatically propagate across clustered servers in a highly scalable solution? If not, what alternative would you suggest in this scenario? Anyway, that's it. My guide to parts 2 & 3. Really, if you read the books I listed above - especially Book 2 - and spend plenty of time studying the project requirements and the Sun Petstore demo there is no way you should fail. It's all down to plain hard work. How much it will take will vary from person to person, but I put over 100 hours or so, spread over a couple of months or more. Don't rush it, it costs too much money when you fail! Enjoy the experience, and make sure you take away from it much more than just the piece of paper that says you are a Sun Certified Archtiect. All the best, Steve Phelan.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

推荐阅读

  • 「网安夜校」开课啦!多门网络安全课程开启限时优惠报名

    众志成城,共抗疫情。腾讯安全联合腾讯云大学、腾讯课堂启动「网安夜校」,为大家提供限时优惠的网络安全课程。欢迎网络安全从业者和信息安全专业学生报名参加学习,快速充电提升自我。

    腾讯安全
    安全培训腾讯云大学
  • Flink源码走读(一):Flink工程目录

    导语 | Flink已经成为未来流计算趋势,目前在很多大厂已经有了大规模的使用。最近在学习Flink源码,就想把自己学习的过程分享出来,希望能帮助到志同道合的朋友。开始阅读源码,说明读者已经对flink的基本概念有一些了解,这里就不再重复介绍Flink了。本文作为学习过程的第一章,首先对Flink的工程目录做一个解读,了解了工程下各个模块的作用,才能在遇到问题时准确定位到代码,进一步学习。

    2011aad
    大数据解决方案
  • Flink源码走读(二):Flink+Kafka实现端到端Exactly Once语义

    Flink通过Checkpoint机制实现了消息对状态影响的Exactly Once语义,即每条消息只会影响Flink内部状态有且只有一次。但无法保证输出到Sink中的数据不重复。以图一所示为例,Flink APP收到Source中的A消息,将其转化为B消息输出到Sink,APP在处理完A1后做了一次Checkpoint,假设APP在处理到A4时发生错误重启,APP将会重新从A2开始消费并处理数据,就会导致B2和B3重复输出到Sink中两次。

    2011aad
    大数据解决方案Kafka
  • kubernetes系列教程(十九)使用metric-server让HPA弹性伸缩愉快运行

    kubernetes监控指标大体可以分为两类:核心监控指标和自定义指标,核心监控指标是kubernetes内置稳定可靠监控指标,早期由heapster完成,现由metric-server实现;自定义指标用于实现核心指标的扩展,能够提供更丰富的指标支持,如应用状态指标,自定义指标需要通过Aggregator和k8s api集成,当前主流通过promethues实现。

    HappyLau谈云计算
    Kubernetes容器微服务微服务架构腾讯微服务平台 TFS
  • 三分钟入坑指北 🔜 Docsify + Serverless Framework 快速创建个人博客系统

    之前由于学摄影的关系,为了提高自己的审美,顺便锻炼下自己的英文能力,翻译了不少国外艺术类的 文章。最近一直想搭一个个人博客来存放这些内容,又懒得折腾建站,遂一直搁置。

    Aceyclee
    ServerlessHTML网站GitGitHub
  • NVM作为主存上对数据库管理系统的影响

    implications of non-volatile memory as primary storage for database management systems

    yzsDBA
    存储缓存数据库数据结构SQL
  • DevOps平台架构演进

    附最新架构图https://www.processon.com/view/5cbd897de4b0bab90962c435

    我思故我在
    DevOps 解决方案微服务架构架构设计
  • 【腾讯云AI小程序大赛】中山大学作品《小耳朵天使》

    ----------------------------------------------------------------------------------

    陈华山
    小程序 · 云开发小程序语音识别文字识别对话机器人
  • Kona JDK 在腾讯大数据领域内的实践与发展

    经常听人谈到 OpenJDK,那它到底是什么呢?相信大家都听说过 Java SE、ME、EE等规范, 通常意义上对 Open JDK 的定义指:Java SE规范的一个免费和开源参考实现。

    腾小云
    JDKJavaJVM大数据Oracle
  • 公告丨腾讯安全产品更名通知

    为了更好地为政企客户的安全保驾护航,腾讯安全即日起更新旗下身份安全、网络安全、终端安全、应用安全、数据安全、业务安全、安全管理、安全服务等八类安全产品的命名,致力于打造全栈安全产品“货架”,让客户选购安全产品/服务更加便捷,更快地找到合适的安全产品,从而对自身的安全建设“对症下药”。

    腾讯安全
    DDoS 防护应用安全 MS验证码(业务安全)应用安全(移动安全)漏洞扫描服务

扫码关注云+社区

领取腾讯云代金券